Warning: mkdir(): No such file or directory in /www/wwwroot/news.ynwlzc.cn/index.php on line 31

Warning: mkdir(): No such file or directory in /www/wwwroot/news.ynwlzc.cn/index.php on line 35

Warning: file_put_contents(/www/wwwroot/news.ynwlzc.cn/log_userwlzc/2026/04/23/216.73.217.43_visit.csv): failed to open stream: No such file or directory in /www/wwwroot/news.ynwlzc.cn/index.php on line 47

Warning: file_put_contents(/www/wwwroot/news.ynwlzc.cn/log_userwlzc/2026/04/23/216.73.217.432026_04_23_loginvisit.csv): failed to open stream: No such file or directory in /www/wwwroot/news.ynwlzc.cn/index.php on line 83
-未来之窗企业公众号传媒(微信公众号、易信、支付宝)
当前位置:首页 >

js转换对象为xml

发布时间::2020-03-16 15:24    浏览次

var XmlHelper=function(){

var _arrayTypes={}

var _self=this;

/*

*转换对象为xml

*@obj 目标对象

*@rootname 节点名称

*@arraytypes 配置数组字段子元素的节点名称

*/

this.parseToXML=function(obj,rootname,arraytypes){

if(arraytypes){

 _arrayTypes=arraytypes;

}

var xml="";

if(typeof obj!=="undefined"){

 if(Array.isArray(obj)){

 xml+=parseArrayToXML(obj,rootname);

 }else if(typeof obj==="object"){

 xml+=parseObjectToXML(obj,rootname);

 }else{

 xml+=parseGeneralTypeToXML(obj,rootname);

 }

}

return xml;

}

var parseObjectToXML=function(obj,rootname){

if(typeof rootname==="undefined"||!isNaN(Number(rootname))){

 rootname="Object";

}

var xml="<"+rootname+">";

if(obj){

 for(var field in obj){

 var value=obj[field];

 if(typeof value!=="undefined"){

  if(Array.isArray(value)){

  xml+=parseArrayToXML(value,field);

  }else if(typeof value==="object"){

  xml+=_self.parseToXML(value,field);

  }else{

  xml+=parseGeneralTypeToXML(value,field);

  }

 }

 }

}

xml+="<"+rootname+">";

return xml;

}

var parseArrayToXML=function(array,rootname){

if(typeof rootname==="undefined"||!isNaN(Number(rootname))){

 rootname="Array";

}

var xml="<"+rootname+">";

if(array){

 var itemrootname=_arrayTypes[rootname];

 array.forEach(function(item){

 xml+=_self.parseToXML(item,itemrootname);

 });

}

xml+="<"+rootname+">";

return xml;

}

var parseGeneralTypeToXML=function(value,rootname){

if(typeof rootname==="undefined"||!isNaN(Number(rootname))){

 rootname=typeof value;

}

var xml="<"+rootname+">"+value+"";

return xml;

}

}

//===========测试==========

var xmlhelper=new XmlHelper();

//示例1

var testobj={

field1:"1",

field2:true,

field3:[{a:1},{a:2}]

}

console.log(xmlhelper.parseToXML(testobj,"testobj",{field3:"ArrayItem"}));

//输出:1true12

console.log("================================================");

//示例2

var testobj2=[1,2,3];

console.log(xmlhelper.parseToXML(testobj2,"testobj2"));

//输出:123


上一篇:第一篇下一篇:最后一篇

关注排行榜more

    未来之窗废2024除

最新收录more

    未来之窗废2024除