最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
js转换对象为xml的教程
时间:2017-04-14 编辑:简简单单 来源:一聚教程网
本代码解决这两个问题:
1.已知js对象没有类名概念,所以转换时要手动指定顶级节点名称
2.还有数组内的元素如果是对象类型,需要配置此数组元素的节点名称
代码如下 | 复制代码 |
varXmlHelper=function(){ var_arrayTypes={} var_self=this; /* *转换对象为xml *@obj 目标对象 *@rootname 节点名称 *@arraytypes 配置数组字段子元素的节点名称 */ this.parseToXML=function(obj,rootname,arraytypes){ if(arraytypes){ _arrayTypes=arraytypes; } varxml=""; if(typeofobj!=="undefined"){ if(Array.isArray(obj)){ xml+=parseArrayToXML(obj,rootname); }elseif(typeofobj==="object"){ xml+=parseObjectToXML(obj,rootname); }else{ xml+=parseGeneralTypeToXML(obj,rootname); } } returnxml; } varparseObjectToXML=function(obj,rootname){ if(typeofrootname==="undefined"||!isNaN(Number(rootname))){ rootname="Object"; } varxml="<"+rootname+">"; if(obj){ for(varfieldinobj){ varvalue=obj[field]; if(typeofvalue!=="undefined"){ if(Array.isArray(value)){ xml+=parseArrayToXML(value,field); }elseif(typeofvalue==="object"){ xml+=_self.parseToXML(value,field); }else{ xml+=parseGeneralTypeToXML(value,field); } } } } xml+=""; returnxml; } varparseArrayToXML=function(array,rootname){ if(typeofrootname==="undefined"||!isNaN(Number(rootname))){ rootname="Array"; } varxml="<"+rootname+">"; if(array){ varitemrootname=_arrayTypes[rootname]; array.forEach(function(item){ xml+=_self.parseToXML(item,itemrootname); }); } xml+=""; returnxml; } varparseGeneralTypeToXML=function(value,rootname){ if(typeofrootname==="undefined"||!isNaN(Number(rootname))){ rootname=typeofvalue; } varxml="<"+rootname+">"+value+""; returnxml; } } //===========测试========== varxmlhelper=newXmlHelper(); //示例1 vartestobj={ field1:"1", field2:true, field3:[{a:1},{a:2}] } console.log(xmlhelper.parseToXML(testobj,"testobj",{field3:"ArrayItem"})); console.log("================================================"); //示例2 vartestobj2=[1,2,3]; console.log(xmlhelper.parseToXML(testobj2,"testobj2")); //输出: |
此转换代码有使用限制
对象中值为数组的字段名最好不要一样
-
上一个: AI画同心圆教程
-
下一个: js实现横向拖拽导航条功能
相关文章
- HTML简单购物数量小程序代码展示 10-31
- html canvas实现弹幕功能 10-31
- HTML中空格表示的意义 10-31
- html area标签解读 10-31
- html使用表单标签实现注册页面代码展示 10-31
- 使用HTML截图并保存为本地图片的代码展示 10-31