php數組 xml
PHP數組是這樣的:
array(4) { ["auth"]=> array(3) {["user"]=> string(8) "customer" ["password"]=> string(8) "password" ["context"]=> string(1) "4" } ["owner"]=> array(2) { ["user"]=> string(9) "customer2" ["context"]=> string(1) "4" } ["language"]=> string(2) "en" ["task"]=> array(1) { ["code"]=> string(4) "0130" } }
轉換成xml格式後的資料格式是這樣的:
customerpassword4customer24en0130
回複討論(解決方案)
$ar=array( "auth"=> array ("user"=> "customer" ,"password"=> "password" ,"context"=> "4" ) ,"owner"=> array ( "user"=> "customer2" ,"context"=> "4" ) ,"language"=> "en" ,"task"=> array( "code"=> "0130" ) );$doc = new DOMDocument('1.0','UTF-8');// we want a nice output$doc->formatOutput = true;$root = $doc->createElement('request');$root = $doc->appendChild($root); foreach($ar as $title=>$title_v){ $title = $doc->createElement($title); $title = $root->appendChild($title); if(is_array($title_v)){ foreach($title_v as $k=>$v){ $k = $doc->createElement($k); $k = $title->appendChild($k); $text = $doc->createTextNode($v); $text = $k->appendChild($text); } }else{ $text = $doc->createTextNode($title_v); $text = $title->appendChild($text); }}echo $doc->saveXML();
$ar = array( "auth" => array( "user" => "customer","password" => "password","context" => "4",),"owner" => array( "user" => "customer2","context" => "4",),"language" => "en","task" => array( "code" => "0130",), );$xml = simplexml_load_string('');create($ar, $xml);echo $xml->saveXML();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);}}
customer password 4 customer2 4 en 0130