将多维SimpleXML转换为关联数组

时间:2018-07-19 12:43:51

标签: php xml simplexml

我有一个嵌套的多维XML字符串,我可以进入SimpleXML。我想将其转换为关联数组。 php.net上列出的示例无法正常工作,或者仅适用于平面xml。

1 个答案:

答案 0 :(得分:1)

这比SimpleXML手册页上的示例更好,但是以当前形式,它会丢弃属性。

function xml2array($xmlObject, $out = array())
{
    foreach ($xmlObject as $node) {
        if ($node->count() > 0) {
            $out[$node->getName()][] = xml2array($node);
        } else {
            $out[$node->getName()] = (string)$node;
        }
    }
    return $out;
}