SimpleXMLElement->xpath()

(no version information, might be only in CVS)

SimpleXMLElement->xpath() --  XMLデータにXpathクエリを実行する

説明

class SimpleXMLElement {

array xpath ( string path )

}

xpathメソッドは、 XPath pathにマッチする SimpleXMLノードを検索します。このメソッドは、常に SimpleXMLElement オブジェクトの配列を返します。

例 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

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