XML:
<A>
<B type="source">
<C>
<D>
<E ref="description">my_desc</E>
<E>Some other E</E>
</D>
</C>
</B>
</A>
PHP:
$doc = new SimpleXMLElement('URL.xml', null, true);
$path = $doc->xpath('A/B[@type="source"]/C/D/E[@ref="description"]');
var_dump ($path);
退货:
Array
(
)
最终,我试图用ref="description"
来获得<E>
的内部值。我做错了什么?以下指南来自:http://php.net/simplexmlelement.xpath
使用您提供的XML,以下代码将打印出E:的字符串值
$doc = new SimpleXMLElement('URL.xml', null, true);
$path = $doc->xpath('/A/B[@type="source"]/C/D/E[@ref="description"]');
echo $path[0];
您需要以/开始查询,以指定文档根。
您也可以查询//E[@ref="description"]来查找所需的所有E元素。