如何使用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);
我只得到代码描述,而不是你在这里看到的代码编号
https://eval.in/51562
您需要将
值包装在 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
我不确定您要获取什么 SimpleXML 正确解析您的 XML 字符串,并返回一个带有一个名为"code"的数组的类,该数组有 2 个称为 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())
(请参阅此处)