例如,我的 xml 文件中有两种类型的节点:
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);
}
}