PHP 数组转XML函数如下
[PHP] 纯文本查看 复制代码
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
<?phpfunction 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(); }//下面这句可以解决标题中提到的所有问题header('Content-Type:text/xml');$test = ['test'=>['test2'=>'test3']];echo(arrayToXml($test));?> |
header('Content-Type:text/xml');
这句话的意思是告诉浏览器接下来的内容 是xml.按xml的格式去解析..没毛病.