昨日の PHP 多次元配列を XML データ形式に変換する問題の続き
まず第一に、昨日の 2 人の友人、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 />