【发布时间】:2012-09-07 01:31:11
【问题描述】:
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
【问题讨论】:
-
您是否在查询结束时使用 /text() 尝试过此操作?
-
如
$doc->xpath('A/B[@type="source"]/C/D/E[@ref="description"]/text()');或$doc->xpath('A/B[@type="source"]/C/D/E[@ref="description"]')->text();?两者都不会产生不同的结果。 -
在查询开头添加 //。 //A/B[@type="source"]/C/D/E[@ref="description"] 有效