0

わかりましたので、私はこのxmlを持っています:

<resin xmlns="http://caucho.com/ns/resin" xmlns:resin="urn:java:com.caucho.resin">
<cluster>
<host host-name="www.1.com">
<host-alias>1.com</host-alias>
<root-directory>c:/docroot</root-directory>
<web-app id="/" document-directory="."/>
</host>
<host host-name="www.2.com">
<host-alias>2.com</host-alias>
<root-directory>c:/docroot</root-directory>
<web-app id="/" document-directory="."/>
</host>
</cluster>
</resin>

これを使用する場合、ホスト名「www.1.com」のxpathを(phpで)取得するにはどうすればよいですか:

$items = $xpath->query(sprintf('//host[@host-name="%s"]', $hostNameToLookFor));

それなし

xmlns="http://caucho.com/ns/resin" xmlns:resin="urn:java:com.caucho.resin"

できます

助けてください、それは私を夢中にさせます! ありがとう!

4

1 に答える 1

0
        $data = <<<xml
<resin xmlns="http://caucho.com/ns/resin" xmlns:resin="urn:java:com.caucho.resin">
<cluster>
<host host-name="www.1.com">
<host-alias>1.com</host-alias>
<root-directory>c:/docroot</root-directory>
<web-app id="/" document-directory="."/>
</host>
<host host-name="www.2.com">
<host-alias>2.com</host-alias>
<root-directory>c:/docroot</root-directory>
<web-app id="/" document-directory="."/>
</host>
</cluster>
</resin>

xml;

        $xml = new SimpleXMLElement($data);
        $xml->registerXPathNamespace('ns', 'http://caucho.com/ns/resin');
        $xml->registerXPathNamespace('resin', 'urn:java:com.caucho.resin');

        foreach ($xml->xpath ('//ns:host[@host-name="www.2.com"]') as $v)
        {
            // ...
        }
于 2012-09-13T13:12:18.077 に答える