PHP数组转换成XML或简单的XML对象

类ArrayToXML

{

/ **

*转换为XML文档的主要功能。

*通过在一个多维数组,这recrusively遍历,并建立一个XML文档。

*

* @参数数组$数据

* @参数字符串$ rootNodeName - 你想要什么,根节点 - defaultsto数据。

* @参数的SimpleXMLElement美元XML - 应该只用于递归
* @返回字符串的XML

* /

公共静态函数的toXml(元数据,元rootNodeName ='数据',$ XML = NULL)

{

/ /关闭兼容模式下,简单的XML抛出一个摇摇晃晃的,如果你不这样做。

(ini_get(“zend.ze1_compatibility_mode)== 1)

{

函数ini_set(“zend.ze1_compatibility_mode',0);

}

($ XML == NULL)

{

$ XML = simplexml_load_string(“<XML版本= '1 .0'编码='UTF-8”?> <$ rootNodeName />“)的;

}

/ /通过循环的数据传入

的foreach($数据作为$ => $值)

{

在我们的XML / /没有数字键,请!

(is_numeric($))

{

/ /字符串键...

美元关键=“unknownNode_”。 (字符串)的关键;

}

/ /不会取代任何字母和数字

$键= preg_replace函数('/ [^ AZ] / I“,”美元的关键);

/ /如果有另一个数组中找到recrusively调用这个函数

如果(IS_ARRAY(值))

{

元节点= $ XML->调用addChild(键);

/ / recrusive的呼叫。

ArrayToXML ::的toXml(美元价值,$ rootNodeName,为节点);

}

其他

{

/ /添加一个节点。

$值=ヶ辆(价值);

XML->调用addChild($键,值);

}

}

/ /传回字串。 或简单的XML对象,如果你想!

返回XML - > asXML();

}

}

你可以留下回应 ,或TRACKBACK从您自己的网站。

发表评论

你必须登录发表评论。