如何在 PHP 中将数组转换为 SimpleXML 对象?
一个简短的:
<?php $test_array = array ( 'bla' => 'blub', 'foo' => 'bar', 'another_array' => array ( 'stack' => 'overflow', ), ); $xml = new SimpleXMLElement('<root/>'); array_walk_recursive($test_array, array ($xml, 'addChild')); print $xml->asXML();
结果是
<?xml version="1.0"?> <root> <blub>bla</blub> <bar>foo</bar> <overflow>stack</overflow> </root>
键和值被交换 - 你可以array_flip()在 array_walk 之前修复它。array_walk_recursive需要 PHP 5。你可以array_walk改用,但你不会进入'stack' => 'overflow'xml。
array_flip()
array_walk_recursive
array_walk
'stack' => 'overflow'