继续昨天的PHP多维数组转换成XML数据格式的问题
首先要感谢昨天的两位朋友:jordan102和xuzuning
帖子链接:http://bbs.csdn.net/topics/390609227
他们二位提供的方法测试确实可行,实在。
但是在项目的开发过程中,又发现这个项目太变态了,居然还有这样的情况
PHP数组:
$ar=array(
"auth"=> array(
"user"=> "user001",
"password"=> "pass001",
"context"=> "1"
),
"task"=> array(
"code"=>"0101",
"item"=>array(
"title"=>"abc",
"web"=>array(
"name"=>"baidu.com",
"ip"=>"1.2.3.4",
),
"web"=>array(
"name"=>"sina.com",
"ip"=>"1.1.1.1",
),
"confirm order"=>"1",
),
"reply_to"=>"info@xxx.com",
),
);
$xml = simplexml_load_string('<request />');
create($ar, $xml);
$xmlData = $xml->saveXML();
echo $xmlData;
function create($ar, $xml) {
foreach($ar as $k=>$v) {
if(is_array($v)) {
$x = $xml->addChild($k);
create($v, $x);
}else $xml->addChild($k, $v);
}
}
<?xml version="1.0"?>
<request>
<auth>
<user>user001</user>
<password>pass001</password>
<context>1</context>
</auth>
<task>
<code>0101</code>
<item>
<title>abc</title>
<web>
<name>sina.com</name>
<ip>1.1.1.1</ip>
</web>
<confirm order>1</confirm order>
</item>
<reply_to>info@xxx.com</reply_to>
</task>
</request>