永发信息网

求教,数组和XML如何互转

答案:2  悬赏:30  手机版
解决时间 2021-04-03 02:37
  • 提问者网友:暮烟疏雨之际
  • 2021-04-02 08:31
求教,数组和XML如何互转
最佳答案
  • 五星知识达人网友:十年萤火照君眠
  • 2021-04-02 09:49
PHP将数组转换成XML
PHP可以将数组转换成xml格式,简单的办法是遍历数组,然后将数组的key/value转换成xml节点,再直接echo输出了,如:
function arrayToXml($arr){
$xml = "";
foreach ($arr as $key=>$val){
if(is_array($val)){
$xml.="<".$key.">".arrayToXml($val)."";
}else{
$xml.="<".$key.">".$val."";
}
}
$xml.="
";
return $xml;
}

我测试了下,这个最简单,速度又快,支持多为数组,中文也不会乱码。
另一种方法是利用DOMDocument来生成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();
}
全部回答
  • 1楼网友:低音帝王
  • 2021-04-02 11:02

可以,数组可以序列化为xml,xml可以反序列化为数组
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯