English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Questo codice risolve questi due problemi:
1. Gli oggetti JavaScript non hanno il concetto di nome della classe, quindi è necessario specificare manualmente il nome del nodo superiore durante la conversione
2. Se gli elementi dell'array sono di tipo oggetto, è necessario configurare il nome del nodo di questo elemento dell'array
var XmlHelper=function(){ var _arrayTypes={} var _self=this; /* *Conversione dell'oggetto in xml *@obj oggetto di destinazione *@rootname nome del nodo *@arraytypes configurazione del nome del nodo dell'elemento figlio dell'array */ this.parseToXML=function(obj,rootname,arraytypes){ if(arraytypes){ _arrayTypes=arraytypes; field3:[{a:1},{a:2}] var xml=""; if(typeof obj!=="undefined"){ if(Array.isArray(obj)){ xml+=parseArrayToXML(obj,rootname); else if(typeof obj==="object"){ var parseObjectToXML=function(obj,rootname){ } rootname="Object"; field3:[{a:1},{a:2}] field3:[{a:1},{a:2}] return xml; field3:[{a:1},{a:2}] if(obj){ if(typeof rootname==="undefined"||!isNaN(Number(rootname))){ for(var field in obj){ field3:[{a:1},{a:2}] var xml="<"+rootname+">"; 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); field3:[{a:1},{a:2}] field3:[{a:1},{a:2}] field3:[{a:1},{a:2}] field3:[{a:1},{a:2}] xml+="</"+rootname+">"; return xml; field3:[{a:1},{a:2}] var parseArrayToXML=function(array,rootname){ if(typeof rootname==="undefined"||!isNaN(Number(rootname))){ rootname="Array"; field3:[{a:1},{a:2}] var xml="<"+rootname+">"; if(array){ var itemrootname=_arrayTypes[rootname]; array.forEach(function(item){ xml+=_self.parseToXML(item,itemrootname); }); field3:[{a:1},{a:2}] xml+="</"+rootname+">"; return xml; field3:[{a:1},{a:2}] var parseGeneralTypeToXML=function(value,rootname){ if(typeof rootname==="undefined"||!isNaN(Number(rootname))){ rootname=typeof value; field3:[{a:1},{a:2}] var xml="<"+rootname+">"+value+"</"+rootname+">"; return xml; field3:[{a:1},{a:2}] field3:[{a:1},{a:2}] //===========Testo di prova========== var xmlhelper=new XmlHelper(); //Esempio1 var testobj={ field1:"1", field2:true, field2:true, field3:[{a:1},{a:2}] } console.log(xmlhelper.parseToXML(testobj,"testobj",{field3:"ArrayItem"})); //Output:<testobj><field1>1</field1><field2>true</field2><field3><ArrayItem><a>1</a></ArrayItem><ArrayItem><a>2</a></ArrayItem></field3></testobj> //Esempio 2 var testobj2=[1,2,3]; console.log(xmlhelper.parseToXML(testobj2,"testobj2")); //Output:<testobj2><number>1</number><number>2</number><number>3</number></testobj2>
Questo codice di conversione ha limitazioni d'uso
È meglio che i nomi dei campi con valori di array non siano gli stessi
Questo è tutto il contenuto dell'articolo, spero che il contenuto di questo articolo possa essere di qualche aiuto per il tuo studio o lavoro, e ti prego di supportare il tutorial Yell!
Dichiarazione: il contenuto di questo articolo è stato tratto da Internet, il copyright è di proprietà del rispettivo autore, il contenuto è stato contribuito e caricato autonomamente dagli utenti di Internet, questo sito non detiene il diritto di proprietà, non è stato editato manualmente e non assume responsabilità legali correlate. Se trovi contenuti sospetti di violazione del copyright, invia un'e-mail a: notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare, fornendo prove pertinenti. Una volta verificata, questo sito eliminerà immediatamente il contenuto sospetto di violazione del copyright.