【问题标题】:What's the best way to serialize JavaScript objects to XML?将 JavaScript 对象序列化为 XML 的最佳方法是什么?
【发布时间】:2009-01-14 08:06:33
【问题描述】:

我正在寻找一种将 JavaScript 对象序列化为 XML 的最佳证明方法,该方法可以进一步以 Ajax 样式发送到服务器。

只是谷歌搜索我发现了一些选项,如 http://svn.mirekrusin.com/pub/javascript/to_xml/trunk/to_xml.js,但是有人已经证明有经验并且可以推荐任何特定的库吗?

【问题讨论】:

  • 有理由不使用 JSON 吗?它 (a) 原生于 javascript 并且 (b) 非常轻量级,并且 (c) 具有几乎所有语言的解析器/编码器库。

标签: javascript xml serialization


【解决方案1】:

【讨论】:

    【解决方案2】:

    我不知道是否有成名的作品可以为你做到这一点,但是......

    // 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);
    

    【讨论】:

      猜你喜欢
      • 2011-07-09
      • 2010-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-31
      • 2010-12-30
      • 2010-09-27
      • 1970-01-01
      相关资源
      最近更新 更多