...
请教大神数组转XML格式问题
本帖最后由 HUENKE 于 2013-11-04 17:51:55 编辑
我PHP存储的内容为树状递归的数组key=>value这种
转为XML为上图格式
但是
我需要如下格式的XML输出
我调试了一下午,请大神帮忙
type="0">
function arrayToXml($arr, $xmlDoc = 0, $item = 0)
{
/*判断是否已为xml*/
if (!$xmlDoc)
{
$xmlDoc = new DOMDocument("1.0");
}
/*判断是否为子节点*/
if (!$item)
{
$item = $xmlDoc->createElement("nodes","UTF-8");
$xmlDoc->appendChild($item);
}
/*将数组数据按“键=>值”方式,循环取出并写入dom树*/
foreach ($arr as $key=>$val)
{
/*增加子节点名和值*/
$itemX = $xmlDoc->createElement(is_string($key) ? $key:"node");
$item->appendChild($itemX);
/*如果数组内某一元素的值也是数组,则进行递归*/
if (!is_array($val))
{
$text = $xmlDoc->createTextNode($val);
$itemX->appendChild($text);
}
else
{
$this->arrayToXml($val,$xmlDoc,$itemX); //在类中调用需加$this->
}
}
return $xmlDoc->saveXML(); //返回xml数据,可以把返回数据直接写入*.xml文件即可生成xml文件
}
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论