数组l转换为xml的例子
function arrayToXml($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{ arrayToXml($val,$dom,$itemx); } } return $dom->saveXML(); } // $arr = array(); // $arr['user'] = '小明'; // $arr['age'] = 20; // $arr['sexy'] = '女'; // echo '数组转xml第一种:'.arrayToXml($arr); // echo "</br>"; function arrayToXml2($arr){ $xml="<xml>"; foreach($arr as $key=>$val){ if(is_array($val)){ $xml.="<".$key.">".arrayToXml($val)."</".$key.">"; // <xml><$key><$val></$key></xml> }else{ $xml.="<".$key.">".$val."</".$key.">"; // <xml><$key><$val></$key></xml> } } $xml.="</xml>"; return $xml; } // $arr = array(); // $arr['user'] = '小明'; // $arr['age'] = 20; // $arr['sexy'] = '男'; // echo '数组转xml第二种:'.arrayToXml2($arr);
下面是xml转为数组
// xml转array function xmlToArray($xml){ libxml_disable_entity_loader(true);
//simplexml_load_string 转换形式良好的 XML 字符串为 SimpleXMLElement 对象,然后输出对象的键和元素
$xmlstring=simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
// json_decode接受一个 JSON 编码的字符串并且把它转换为 PHP 变量
// json_encode返回字符串,包含了 value 值 JSON 形式的表示。 $val=json_decode(json_encode($xmlstring),true); return $val; } $xmlstring='<root><user>小明</user><age>100</age></root>'; $arr=xmlToArray($xmlstring); print_r($arr);//Array ( [user] => 小明 [age] => 100 )
综合例子
$arr = array(); $arr['user']='小明'; $arr['age']=20; $arr['fam']=array('姐姐'=>22,'弟弟'=>18,'哥哥'=>array('儿子'=>8,'女儿'=>6)); $arr['date']='2016-06-01'; $result = arrayToXml($arr); var_dump($result);//转化为$xmlstring $xmlstring = '<root><user>小明</user><age>20</age><fam><姐姐>22</姐姐><弟弟>18</弟弟><哥哥><儿子>8</儿子><女儿>6</女儿></哥哥></fam><date>2016-06-01</date></root>'; $arr = xmlToArray($xmlstring); var_dump($arr);//结果是二维数组
xml www.runoob.com/xml/xml-tutorial.html
json-decode php.net/manual/zh/function.json-decode.php
json_encode php.net/manual/zh/function.json-encode.php
simplexml_load_string www.runoob.com/php/func-simplexml-load-string.html