首先读取xml文件获取里面的数据
$xml_str = file_get_contents("a.xml");
然后把XML字符串载入对象中
$xml = simplexml_load_string($xml_str);
/**
* [xml_to_array object(xml)数据转换成数组]
* @param [type] $xml [传入xml]
* @return [type] [description]
*/
public function xml_to_array( $xml )
{
if (gettype($xml) == 'object'){
$xml = get_object_vars($xml);
}
foreach ($xml as $key => $v) {
if (gettype($v) == 'object' || is_array($v)) {
$xml[$key] = $this->xml_to_array($v);
}
}
return $xml;
}
最后调用这个我写的xml转为array的方法
$xml_data = $this->xml_to_array($xml);
最后的$xml_data就是个多维数组
PS:转换的过程中遇到的问题主要是认为 $xml这个对象里面全是对象,最后发现里面也有数组,所以转换的时候需要判断!
近期评论