PHP中数组转换为SimpleXML教程
SimpleXML扩展函数提供了将XML转换为对象的工具集。这些对象处理普通的属性选择器和数组迭代器。
示例1:
'); } //访问所有键值对 foreach($arrayas$k=>$v){ //如果有嵌套数组 if(is_array($v)){ //调用嵌套数组的函数 arrayToXml($v,$k,$_xml->addChild($k)); } else{ $_xml->addChild($k,$v); } } return$_xml->asXML(); } //创建一个用于演示的数组 $my_array=array( 'name'=>'GFG', 'subject'=>'CS', //创建嵌套数组。 'contact_info'=>array( 'city'=>'Noida', 'state'=>'UP', 'email'=>'448199179@qq.com' ), ); //调用arrayToxml函数并打印结果 echoarrayToXml($my_array); ?>
输出:
GFG CS Noida UP 448199179@qq.com
可以使用array_walk_recursive()函数解决上述问题。此函数将数组转换为xml文档,其中数组的键转换为值,数组的值转换为xml的元素。
示例2:
'x', 'b'=>'y', //creatingnestedarray 'another_array'=>array( 'c'=>'z', ), ); //这个函数使用root元素创建一个xml对象。 $xml=newSimpleXMLElement(''); //这个函数重新将数组元素添加到xml文档中 array_walk_recursive($my_array,array($xml,'addChild')); //这个函数打印xml文档。 print$xml->asXML(); ?>
输出:
<?xmlversion=“1.0”?>a b c
注:
如果系统生成错误类型:
PHPFatalerror:UncaughtError:Class‘SimpleXMLElement'notfoundin/home/6bc5567266b35ae3e76d84307e5bdc78.php:24,
那么只需安装php-xml,php-simplexml软件包。