php 数组转换成xml的解决办法
内容摘要
这篇文章主要为大家详细介绍了php 数组转换成xml的简单示例,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记。经测试代码如下:
<?php
/**
对此感兴趣的朋友,看看idc笔记做的技术笔记。经测试代码如下:
<?php
/**
文章正文
这篇文章主要为大家详细介绍了php 数组转换成xml的简单示例,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记。经测试代码如下:
<?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 (www.idcnote.com)
**/
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();
}
}
/*** 来自:php教程(www.idcnote.com) ***/
?>
注:关于php 数组转换成xml的简单示例的内容就先介绍到这里,更多相关文章的可以留意
代码注释