繁体   English   中英

使用Castor进行封送处理和取消封送处理

[英]Marshaling and Unmarshaling using Castor

我想编组和取消编组我的类对象的列表,例如java.util.List<MyObject> 我打算为此使用Castor,但必须使用Castor-0.9.5。*。jar版本。

另外,我为Marshaled对象( MyObject )提供了XML Schema。 MyObject类没有默认的构造函数,它仅具有参数化的构造函数,该构造函数设置所有字段。 而且MyObject类中的任何字段都没有设置方法。 我根本无法修改MyObject类。

这是MyObject类的代码段:

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的一部分吗?

我更喜欢使用jaxB,因为它重量轻,并且编组和拆组不会占用太多内存, 请单击此处,例如

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM