PHP转换XML为数组
匿名 · 更新于 2015/4/15
// Xml 转 数组, 包括根键
function xml_to_array($xml)
{
$reg = '/<(\\w+)[^>]*>([\\x00-\\xFF]*)<\\/\\1>/';
if (preg_match_all($reg, $xml, $matches)) {
$count = count($matches[0]);
for ($i = 0; $i < $count; $i++) {
$subxml = $matches[2][$i];
$key = $matches[1][$i];
if (preg_match($reg, $subxml)) {
$arr[$key] = xml_to_array($subxml);
} else {
$arr[$key] = $subxml;
}
}
}
return $arr;
}
// Xml 转 数组, 不包括根键
function xmltoarray($xml)
{
$arr = xml_to_array($xml);
$key = array_keys($arr);
return $arr[$key[0]];
}
