我正在使用此功能http://mysrc.blogspot.it/2007/02/php-xml-to-array-and-backwards.html 将XML解析为数组。非常棒的功能。但奇怪的是 如果我有以下2个xml文件:
<response>
<company prop1=1>
</company>
<company prop1=2>
</company>
</response>
<response>
<company prop1=1>
</company>
</response>
我得到了不同的结果。对于第一种情况,我得到了两个元素的数组:
Array(
int(0) => _a => Array(...)
int(1) => _a => Array(...)
)
但是对于第二个案例我得到了
Array (
_a => Array(...)
)
这不是一个索引作为第一种情况的数组。这使解析变得复杂。 有没有人知道如何修改代码? 问候。
答案 0 :(得分:1)
假设你做了类似
的事情$result = xml2ary($xml);
尝试在调用xml2ary()之后添加此行:
$result = is_int(reset(array_keys($result))) ? $result : array($result);
检查结果数组的第一个键是否为整数(这意味着xml2ary
函数返回多个结果。如果不是,它会自动将$result
变量包装在数组()中,这样,即使只解析了一个XML项,也会有相同的响应格式。
答案 1 :(得分:0)