php 数组转换成xml的简单示例

感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
经测试代码如下:

<?php
/**
 * 数组转换成xml
 * 转换为XML文档的主要功能。
 * 传入一个多维数组,这个循环遍历并构建一个XML文档。
 * @param array $data * @param string $rootNodeName - what you want the root node to be - defaultsto data.
 * @param SimpleXMLElement $xml - should only be used recursively
 * @arrange (编程之家) jb51.cc
 **/
class ArrayToXML
{
public static function toXml($data,$rootNodeName = 'data',$xml=null)
{
// turn off compatibility mode as simple xml throws a wobbly if you don't.
if (ini_get('zend.ze1_compatibility_mode') == 1)
{
ini_set ('zend.ze1_compatibility_mode',0);
}

if ($xml == null)
{
$xml = simplexml_load_string(<?xml version='1.0' encoding='utf-8'?><$rootNodeName />);
}

// loop through the data passed in.
foreach($data as $key => $value)
{
// no numeric keys in our xml please!
if (is_numeric($key))
{
// make string key...
$key = unknownNode_. (string) $key;
}

// replace anything not alpha numeric
$key = preg_replace('/[^a-z]/i','',$key);

// if there is another array found recrusively call this function
if (is_array($value))
{
$node = $xml->addChild($key);
// recrusive call.
ArrayToXML::toXml($value,$rootNodeName,$node);
}
else
{
// add single node.
$value = htmlentities($value);
$xml->addChild($key,$value);
}

}
// pass back as string. or simple xml object if you want!
return $xml->asXML();
}
}


/*** 来自:编程之家 jb51.cc(jb51.cc) ***/ 
?>

相关文章

文章浏览阅读8.4k次,点赞8次,收藏7次。SourceCodester Onl...
文章浏览阅读3.4k次,点赞46次,收藏51次。本文为大家介绍在...
文章浏览阅读1.1k次。- php是最优秀, 最原生的模板语言, 替代...
文章浏览阅读1.1k次,点赞18次,收藏15次。整理K8s网络相关笔...
文章浏览阅读1.2k次,点赞22次,收藏19次。此网络模型提供了...
文章浏览阅读1.1k次,点赞14次,收藏19次。当我们谈论网络安...