SimpleXMLElement::xpath

(PHP 5, PHP 7)

SimpleXMLElement::xpathXML データに Xpath クエリを実行する

説明

public SimpleXMLElement::xpath ( string $path ) : array

xpathメソッドは、 XPath pathにマッチする SimpleXML ノードを検索します。

パラメータ

path

XPath パス。

返り値

SimpleXMLElement オブジェクトの配列を返します。 エラーが発生した場合は FALSE を返します。

例1 Xpath

<?php
$string 
= <<<XML
<a>
 <b>
  <c>text</c>
  <c>stuff</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>
XML;

$xml = new SimpleXMLElement($string);

/* <a><b><c> を探します */
$result $xml->xpath('/a/b/c');

while(list( , 
$node) = each($result)) {
    echo 
'/a/b/c: ',$node,"\n";
}

/* 相対パスでも動作します... */
$result $xml->xpath('b/c');

while(list( , 
$node) = each($result)) {
    echo 
'b/c: ',$node,"\n";
}
?>

上の例の出力は以下となります。

/a/b/c: text
/a/b/c: stuff
b/c: text
b/c: stuff

これら二つの結果は同じであることに注意してください。

参考