[ActionScript 3.0] AS 实现JSON转换为XML

时间:2023-12-15 16:13:56
 package com.fylibs.utils
{
/**
* @author:Frost.Yen
* @E-mail:871979853@qq.com
* @create:2015-12-25 下午3:34:28
*
*/
public class JSON2XML
{
public function JSON2XML()
{
}
/**
* 将object对象转换成xml,主要目的是将json格式的数据转换成xml
* @param obj 要转换的对象
* @param node 节点
* return XML
*/
public static function obj2xml(obj:Object, node:String):XML
{
var xml:XML=new XML(<{node}></{node}>);
switch(typeof(obj))
{
case "int":
case "uint":
case "number":
case "string":
case "boolean":
return new XML(<{node}>{obj.toString()}</{node}>);
}
for(var str:String in obj)
{
switch(typeof(obj[str]))
{
case "int":
case "uint":
case "number":
case "string":
case "boolean":
xml.appendChild(<{str}>{obj[str]}</{str}>)
break;
case "array":
case "object":
if(obj[str].length){
for each(var item:Object in obj[str])
{
xml.appendChild(obj2xml(item, str));
}
}else{
if(isNaN(Number(str))){//如果不是数字
xml.appendChild(obj2xml(obj[str], str));
}else{
xml.appendChild(obj2xml(obj[str], node));
} }
break;
}
}
return xml;
}
}
}