0

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
(
)

最终,我试图<E>ref="description". 我究竟做错了什么?以下指南来自: http: //php.net/simplexmlelement.xpath

4

1 回答 1

0

使用您提供的 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 元素。

于 2012-09-07T03:18:13.817 回答