【发布时间】: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;
但出现错误,
试图获取非对象的属性
【问题讨论】:
我有一个像下面这样的 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;
但出现错误,
试图获取非对象的属性
【问题讨论】:
它应该是:$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']。