我有这样的XML,它有一些带有宏的节点(例如{author}) -
<?xml version="1.0"?>
<catalog>
<book id="test">
<author>{author}</author>
<title>{title}</title>
<genre>{genre}</genre>
<price>{price}</price>
<publish_date>{publish_date}</publish_date>
<description>{desciption}</description>
</book>
</catalog>
在上面执行simple_xml_load_string()
不会返回目录节点,即使没有显示错误(使用libxml_use_internal_errors(true)
并迭代libxml_get_errors()
)。我还在http://xmlbeautifier.com/验证了xml。
以上是<{1}}的输出 -
simple_xml_load_string()
缺少目录节点。
答案 0 :(得分:2)
每个XML文档只有一个根元素。它包含所有其他元素,因此是所有其他元素的唯一父元素。 ROOT元素也称为PARENT元素。所以它不缺少1个节点,这就是它的工作原理。如果你想要根元素的名称,试试这个:
<?php
$xml = simplexml_load_string($str);
echo $xml->getName();
?>