【问题标题】:PHP simplexml reading child tag attributePHP simplexml读取子标签属性
【发布时间】:2016-08-19 18:00:45
【问题描述】:

我有一个像下面这样的 xml,

<y>
 <n>
   <n id='test1'></n>
   <n id='test2'></n>
 </n>
</y>

并想读取子“n”标签的每个“id”。

我使用这个 php 代码;

$xml = simplexml_load_file("my.xml");
echo $xml->n[0]->n;

但出现错误,

试图获取非对象的属性

【问题讨论】:

    标签: php xml simplexml


    【解决方案1】:

    它应该是:$xml-&gt;n-&gt;n[0] 这是一个数组。如果你print_r($xml) 你可能会看到这样的:

    SimpleXMLElement Object
    (
        [n] => SimpleXMLElement Object
        (
            [n] => Array
                (
                    [0] => SimpleXMLElement Object
                        (
                            [@attributes] => Array
                                (
                                    [id] => test1
                                )
    
                        )
    
                    [1] => SimpleXMLElement Object
                        (
                            [@attributes] => Array
                                (
                                    [id] => test2
                                )
    
                        )
    
                )
    
        )
    
    )
    

    【讨论】:

    • ...不要忘记id 是节点属性而不是节点值,因此您需要像这样获取它:echo $xml-&gt;n-&gt;n[0]['id']
    猜你喜欢
    • 1970-01-01
    • 2011-02-23
    • 2012-05-19
    • 1970-01-01
    • 2021-03-07
    • 2018-08-04
    • 2012-09-08
    • 1970-01-01
    相关资源
    最近更新 更多