使用PHP检索存储在XML中的值


Retrieve a value stored within an XML using PHP

我想导航到一个特定的url,不想每次都硬编码值。有没有一种方法可以调用"SELENIUM_BASEURL"来执行此操作。

$this->url('http://www.google.com');

phpunit.xml…

<php>
    <!-- define some constants to use in our test classes -->
    <const name="SELENIUM_HOST" value="127.0.0.1"/>
    <const name="SELENIUM_BASEURL" value="http://www.google.com"/>
</php>
<testsuites>
    <testsuite name="SeleniumSetup">
        <directory>tests/integration/</directory>
    </testsuite>
</testsuites>

是的,在这种情况下可以使用SimpleXML

$xml = simplexml_load_file('phpunit.xml');
$element = $xml->xpath('//php/const[@name="SELENIUM_BASEURL"]');
$selenium_baseurl = $element[0]->attributes()->value;
echo $selenium_baseurl; // http://www.google.com

或使用DOMDocument:

$dom = new DOMDocument();
$dom->load('phpunit.xml');
$xpath = new DOMXpath($dom);
$selenium_baseurl = $xpath->evaluate('string(//php/const[@name="SELENIUM_BASEURL"]/@value)');
echo $selenium_baseurl; // http://www.google.com

然后:

$this->url($seleniium_baseurl);

您已经在XML中定义了常量,因此您可以通过通常的方式访问它们:

$this->url(SELENIUM_BASEURL);