Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP simplexml读取子标记属性_Php_Xml_Simplexml - Fatal编程技术网

PHP simplexml读取子标记属性

PHP simplexml读取子标记属性,php,xml,simplexml,Php,Xml,Simplexml,我有一个如下所示的xml <y> <n> <n id='test1'></n> <n id='test2'></n> </n> </y> 但一旦出错 正在尝试获取非对象的属性 它应该是:$xml->n->n[0],它是一个数组。如果您print\r($xml),您可能会看到如下所示: SimpleXMLElement Object ( [n] => SimpleXMLE

我有一个如下所示的xml

<y>
 <n>
   <n id='test1'></n>
   <n id='test2'></n>
 </n>
</y>
但一旦出错

正在尝试获取非对象的属性


它应该是:
$xml->n->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
                            )

                    )

            )

    )

)

它应该是:
$xml->n->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->n->n[0]['id']
…不要忘记,
id
是一个节点属性,而不是节点值,所以您需要像这样获取它:
echo$xml->n->n[0]['id']