例如,我的xml文件中有两种类型的节点:
1) <book>
2) <author>
名为$ node的变量指向特定节点(未知类型)。 如何访问此节点的名称?必须是这样的:
if($node->name()=="book")
process_book($node);
else
process_author;
答案 0 :(得分:0)
答案 1 :(得分:0)
我可能会遗漏一些东西,但这是一个简单的解决方案。如果您使用文件,请将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);
}
}