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