将多维 SimpleXML 转换为关联数组
Converting multidimensional SimpleXML to associative array
我有一个嵌套的多维 XML 字符串,我进入 SimpleXML
。我想将其转换为关联数组。 php.net 中列出的示例无法正常工作,或者它们仅适用于平面 xml。
这比 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;
}
我有一个嵌套的多维 XML 字符串,我进入 SimpleXML
。我想将其转换为关联数组。 php.net 中列出的示例无法正常工作,或者它们仅适用于平面 xml。
这比 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;
}