xml 和数组的相互转化

时间:2022-03-05 13:14:48

数组转化为xml:

function arrtoxml($arr,$dom=0,$item=0){
if (!$dom){
$dom = new DOMDocument("1.0");
}
if(!$item){
$item = $dom->createElement("root");
$dom->appendChild($item);
}
foreach ($arr as $key=>$val){
$itemx = $dom->createElement(is_string($key)?$key:"item");
$item->appendChild($itemx);
if (!is_array($val)){
$text = $dom->createTextNode($val);
$itemx->appendChild($text); }else {
arrtoxml($val,$dom,$itemx);
}
}
return $dom->saveXML();
}

xml转化为数组:

function xmltoarr($path){
$xmlfile = file_get_contents($path);//提取xml文档中的内容以字符串格式赋给变量
$ob= simplexml_load_string($xmlfile);//将字符串转化为变量
$json = json_encode($ob);//将对象转化为JSON格式的字符串
$configData = json_decode($json, true);//将JSON格式的字符串转化为数组
print_r($configData);
}