2009-01-14 21 views
5

Estoy buscando la forma mejor probada para serializar objetos JavaScript en XML, que podrían enviarse al servidor más allá en estilo Ajax.¿Cuál es la mejor manera de serializar objetos JavaScript a XML?

Simplemente buscando en Google He encontrado algunas opciones como http://svn.mirekrusin.com/pub/javascript/to_xml/trunk/to_xml.js, pero ¿alguien ha demostrado experiencia y podría recomendar cualquier biblioteca específica?

+0

hay una razón para no usar JSON? Es (a) nativo de javascript y (b) muy ligero, y (c) tiene bibliotecas de analizadores/codificadores para casi todos los idiomas que existen. – yaauie

Respuesta

0

No sé si hay fameworks que lo hará por usted, pero ...

// Define class constructor 
var SampleObject1 = function() 
{ 
    this.name = 'MySampleObject'; 
    this.id = 1; 
    this.seed = 1.009; 
    this.createdAt = new Date(); 
    this.obj = null; 
}; 

// Create instance of serializer 
var serializer = new Ant.Serializer(); 

// Register SampleObject1, so serializer gets to know how to deal with such objects 
serializer.register('SampleObject1', SampleObject1); 

// Create data that will be serialized 
var object = new SampleObject1(); 
object.obj = new SampleObject1(); 

// Serialize and get string representation 
var xml = serializer.save(object).toString(); 

// Displays (formatting is changed): 
// <SampleObject1> 
// <name type="string">MySampleObject</name> 
// <id type="number">1</id> 
// <seed type="number">1.009</seed> 
// <createdAt> 
//  <Date value="2007-7-26T20:31:24.156"/> 
// </createdAt> 
// <obj> 
//  <SampleObject1> 
//   <name type="string">MySampleObject</name> 
//   <id type="number">1</id> 
//   <seed type="number">1.009</seed> 
//   <createdAt> 
//    <Date value="2007-7-26T20:31:24.156"/> 
//   </createdAt> 
//   <obj/> 
//  </SampleObject1> 
// </obj> 
// </SampleObject1> 
WScript.echo(xml); 

// Displays: MySampleObject 
WScript.echo(serializer.load(xml).name); 
Cuestiones relacionadas