PHP生成xml 无法识别或是无法读取或是浏览器不识别等问题

时间:2022-10-15 10:20:38


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
<?php
 
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();
}
 
 
 
//下面这句可以解决标题中提到的所有问题
header( 'Content-Type:text/xml' );
$test = [
'test' =>[ 'test2' => 'test3' ]
];
echo (arrayToXml( $test ));
 
?>


header('Content-Type:text/xml');

这句话的意思是告诉浏览器接下来的内容 是xml.按xml的格式去解析..没毛病.