欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

多维PHP数组如何转换成xml格式的数据?

程序员文章站 2022-06-13 17:08:20
...
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);	}}
customerpassword4customer24en0130