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 に答える