如何使用simplexml_load_string从XML获取整个结果?
我的XML看起来像这样
<xml>
<code>
<codedesc>Code Name</codedesc>
100
</code>
<code>
<codedesc>Code Name 2</codedesc>
200
</code>
</xml>
当我使用此代码加载PHP时
$XML = simplexml_load_string($data);
print_r($XML);
我只能获得codedesc而不是代码编号,你可以在这里看到
答案 0 :(得分:2)
您需要将值包装在XML中,以便可以访问它们。
<xml>
<code>
<codedesc>Code Name</codedesc>
<value>100</value>
</code>
<code>
<codedesc>Code Name 2</codedesc>
<value>200</value>
</code>
</xml>
然后您可以像这样访问它们:
$xml = simplexml_load_string($data);
echo $xml->code[0]->value; //100
echo $xml->code[1]->value; //200
echo $xml->code[1]->codedesc; //Code Name 2
如果您无法更改xml,则以下内容应该有效:
echo $xml->code[0]; //100
echo $xml->code[1]; //200
答案 1 :(得分:0)
我不确定你正在试图让SimpleXML正确解析你的XML字符串,并返回一个带有一个名为'code'的数组的类,它有两个名为codedesc的对象:
SimpleXMLElement Object
(
[code] => Array
(
[0] => SimpleXMLElement Object
(
[codedesc] => Code Name
)
[1] => SimpleXMLElement Object
(
[codedesc] => Code Name 2
)
)
)
如果您正在尝试获取值(100,200) - 请尝试将它们放入XML元素中。
如果您尝试打印整个XML,请尝试print_r($XML->asXML())
(请参阅this)