このコード場合:PHPのXPathの構文
$s = 'BrowseNodes/BrowseNode';
$temp_bnid=$item->xpath($s);
echo '<pre>
Root Search:
';
print_r($temp_bnid);
echo '</pre>';
die('Halted for testing');
この出力を与える:
Root Search:
Array
(
[0] => SimpleXMLElement Object
(
[BrowseNodeId] => 2522032011
[Name] => Balls
[Ancestors] => SimpleXMLElement Object
(
[BrowseNode] => SimpleXMLElement Object
(
[BrowseNodeId] => 196601011
[Name] => Baby & Toddler Toys
[Ancestors] => SimpleXMLElement Object
(
[BrowseNode] => SimpleXMLElement Object
(
[BrowseNodeId] => 165795011
[Name] => Categories
[IsCategoryRoot] => 1
[Ancestors] => SimpleXMLElement Object
(
[BrowseNode] => SimpleXMLElement Object
(
[BrowseNodeId] => 165793011
[Name] => Toys & Games
)
)
)
)
)
)
)
)
Halted for testing
このコード:
$s = 'BrowseNodes/BrowseNode[Name=Categories]';
// I also tried $s = 'BrowseNodes/BrowseNode[Name="Categories"]';
$temp_bnid=$item->xpath($s);
echo '<pre>
Root Search:
';
print_r($temp_bnid);
echo '</pre>';
die('Halted for testing');
この出力を与える:
Root Search:
Array
(
)
Halted for testing
私が間違って何をやっている、私は「名前」ノードの値が「カテゴリー」で「名前」ノードが含まれているBrowseNodeノードを取得しようとしていますか?この問題の 代替ソリューションは、「IsCategoryRoot」ノードの存在にノードを選択するのだろうが、私は実際にそれが将来的にはより多くの私を助けるかもしれないとして、他のクエリを実行する方法を学びたいです。 Nietherのやり方は、私が排他的な質問を扱った。
あなたが検索しようとしているXMLを投稿するには、SimpleXMLオブジェクトのダンプよりも役に立つかもしれません。 –
XML入力のサンプルをお願いできますか?それはあなたを助けることがより簡単になります。しかし、私が見るもの与えられた:多分名前は属性であり、もしそうなら、あなたは試すことができます: 'BrowseNodes/BrowseNode [名@ =「カテゴリー」]'。 –