array(3) {["user"]=> string(8) "customer" ["password"]=> string(8) "pass">
当前位置:Gxlcms > PHP教程 > 多维PHP数组如何转换成xml格式的数据?

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

时间:2021-07-01 10:21:17 帮助过:2人阅读

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格式后的数据格式是这样的:
			customer		password		4				customer2		4		en			0130	


回复讨论(解决方案)

 $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 	

人气教程排行