【问题标题】:Marshaling and Unmarshaling using Castor使用 Castor 进行编组和解组
【发布时间】:2013-06-10 12:14:56
【问题描述】:

我想编组和解组我的类对象列表说java.util.List<MyObject>。我打算使用 Castor,我将不得不使用 Castor-0.9.5.*.jar 版本。

此外,我还有我的编组对象 (MyObject) 的 XML 模式。 MyObject 类没有默认构造函数,它只有一个设置所有字段的参数化构造函数。 MyObject 类中的任何字段都没有设置方法。我根本无法修改MyObject 类。

这是MyObject类的sn-p:

public class MyObject
{
    private final SomeEnumType type;
    private final CutomObject custObjs[];
    private final int index;
    private final String[] strs;
    private final int rows[];

    // NOTE: This class also has getter methods for all the fields.
    // NOTE: There are NO setters methods and all fields are final

    public MyObject(SomeEnumType type, CutomObject custObjs[], 
                    int index, String strs[], int rows[])
    {
        this.type = type;
        this.custObjs = custObjs;
        this.index = index;
        this.strs = strs;
        this.rows = rows;
    }

}

我的问题是:

  1. Castor 是否适合这种情况?如果不是,还有什么更好的选择?
  2. 在我的例子中如何创建 Castor 映射。我尝试为此使用O2XMapper,但它不起作用,因为MyObject 类没有默认构造函数?
  3. 有没有办法使用MyObject 的XML Schema 来生成Castor 映射。
  4. 我在 Castor jar 中找不到 org.exolab.castor.xml.XMLContextorg.castor.xml.BackwardCompatibilityContext 类,它们不是 Castor jar 的一部分吗?

【问题讨论】:

  • 投反对票的人,请注意解释你的投反对票。

标签: java jaxb xsd marshalling castor


【解决方案1】:

我更喜欢使用 jaxB,因为它重量轻,编组和解组不会占用太多内存 click here for example

【讨论】:

  • 我无法对MyObject 类进行任何更改,因此无法对其进行注释。 JaxB 还能用吗?
  • @john :- 如果你可以分享你的 MyObject 类然后会尝试识别它
  • 我在问题中添加了 MyObject 类的 sn-p。请你看一下。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-13
  • 1970-01-01
  • 1970-01-01
  • 2012-02-17
相关资源
最近更新 更多