[英]php simple xml element question/bug
我有一些xml,可以说<names number="12"></names>
当我运行以下命令时:
$simpleXMLElement = new SimpleXMLElement($xml);
pr($simpleXMLElement);
我得到以下内容:
SimpleXMLElement Object
(
[@attributes] => Array
(
[number] => 12
)
[0] =>
)
它抛出该0条目。 真奇怪 我不知道它代表什么。 如果我改为这样做:
<names number="12"><name first="oliver" /></names>
我得到以下输出:
SimpleXMLElement Object
(
[@attributes] => Array
(
[number] => 12
)
[name] => SimpleXMLElement Object
(
[@attributes] => Array
(
[first] => oliver
)
)
)
这是预期的(至少对我而言)。 有什么想法/方向吗?
第一:如果您未正确设置帖子的格式,则不会显示XML。 缩进至少4个空格的任何代码。
其次,不要期望print_r()
或var_dump()
为您提供SimpleXMLElement
的确切表示,因为SimpleXML使用了很多魔术,因此子级和属性不一定会出现在输出中。
似乎只是SimpleXML在完成元素的解析上花了点力气:因为您有<names></names>
,所以它会在元素内部添加一个数组,以期望元素在其中以及何时没有在names
标签中找到任何元素,它将留下一个空数组,键为0
,因为它不知道给它起什么名字。
简短标记( <names />
)不应生成空内容。 (听起来很奇怪。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.