php如何转化数组为SimpleXML对象

身居漏室,心系天下


以下简短的代码可以把php数组转化为SimleXML,并输出xml。
$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_walk之前用array_flip(),以解决键和值对换问题.array_walk_recursive需

要PHP 5.可以使用array_walk代替,但你不能在xml中得到'stack' => 'overflow'.这段代码只能转化一维数组.

 

京ICP备14008139号-1