2009-01-14 65 views
5

我正在寻找一种最好的证明方式来将JavaScript对象序列化为XML,这可以通过Ajax风格进一步发送到服务器。将JavaScript对象序列化为XML的最佳方式是什么?

只是使用谷歌搜索我找到了一些选项,如http://svn.mirekrusin.com/pub/javascript/to_xml/trunk/to_xml.js,但有人证明经验,并可以推荐任何特定的图书馆?

+0

是有没有使用JSON理由吗?它是(a)原生的JavaScript和(b)非常轻量级的,并且(c)具有用于几乎所有语言的解析器/编码器库。 – yaauie 2009-01-14 08:43:42

回答

0

我不知道是否有fameworks会为你而做到这一点...

// 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); 
相关问题