makala 发表于 2017-3-30 12:37:59

php解析xml数据

1.把xml解析成数组
private function xml_to_array($xml) {
$reg = "/<(\\w+)[^>]*?>([\\x00-\\xFF]*?)<\\/\\1>/";
if (preg_match_all($reg, $xml, $matches)) {
$count = count($matches);
$arr = array();
for ($i = 0; $i < $count; $i++) {
$key = $matches[$i];
$val = $this->xml_to_array($matches[$i]);// 递归
if (array_key_exists($key, $arr)) {
if (is_array($arr[$key])) {
if (!array_key_exists(0, $arr[$key])) {
$arr[$key] = array($arr[$key]);
}
} else {
$arr[$key] = array($arr[$key]);
}
$arr[$key][] = $val;
} else {
$arr[$key] = $val;
}
}
return $arr;
} else {
return $xml;
}
}
页: [1]
查看完整版本: php解析xml数据