たとえば、xml ファイルに 2 種類のノードがあります。
1) <book>
2) <author>
$node という名前の変数は、(不明なタイプの) 特定のノードを指します。このノードの名前にアクセスするにはどうすればよいですか? 次のようなものでなければなりません。
if($node->name()=="book")
process_book($node);
else
process_author;
私は何かが欠けているかもしれませんが、ここに簡単な解決策があります。ファイルを使用している場合に変更simplexml_load_string
しsimplexml_load_file
ます。
$xml_string = <<<XML
<root>
<item>
<book>Book 1</book>
<author>Author 1</author>
</item>
<item>
<book>Book 2</book>
<author>Author 2</author>
</item>
<item>
<book>Book 3</book>
<author>Author 3</author>
</item>
</root>
XML;
$xml = simplexml_load_string($xml_string);
foreach($xml->item as $node){
if(isset($node->book)){
process_book($node);
}
}