次のtest.xmlを検討してください
<root>
<parent>
<ID>1</ID>
<child1>Value1</child1>
<child2>value11</child2>
<child3>
<grandchild>
<greatgrandchild>value1111</greatgrandchild>
</grandchild>
</child3>
</parent>
<parent>
<ID>2</ID>
<child1>value2</child1>
<child3>
<grandchild>
<greatgrandchild>value2222</greatgrandchild>
</grandchild>
</child3>
</parent>
<parent>
<ID>3</ID>
<child1>value3</child1>
<child2>value33</child2>
<child3>
<grandchild>
<greatgrandchild>value3333</greatgrandchild>
</grandchild>
</child3>
</parent>
<parent>
<ID>4</ID>
<child1>value4</child1>
<child2>value44</child2>
<child3>
<grandchild>
<greatgrandchild>value4444</greatgrandchild>
</grandchild>
</child3>
</parent>
</root>
xpath '/root/parent' に次を使用すると、ID、child1、および child2 の値を簡単に取得できます。
しかし、孫のひ孫の値がわかりません。
これらの値を取得するにはどうすればよいですか。
$query = '/root/parent'
$xQuery = $xml->xpath($query);
foreach($xQuery as $results){
echo $results->ID;
echo $results->child1;
echo $results->child2;
echo $results->greatgrandchild;
}
偉大な孫の値に基づいて結果をフィルタリングしたいと思います。ID と child1 と child2 の結果を正常にフィルター処理できます。私は、greatgrandchild の値に基づいて、親とそのすべての子、孫、greatgrandchild を取得したいと考えています。
これは xpath を使用して可能ですか?
初めてエラーが発生したため、質問の文言を編集し、適切な test.xml を使用しました。