繁体   English   中英

PHP简单的XML元素问题/错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM