English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

js转换对象为xml

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.