2

我想生成一个数据模型的 xml 表示,我不想修改我的模型添加类似 JAXB 和注释来描述它。我想要一个透明和灵活的设计。

有任何想法吗?

谢谢!

编辑 - 广告示例

public class Figure {
private String name;
private String color;
public Figure(String name, String color) {
    super();
    this.name = name;
    this.color = color;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getColor() {
    return color;
}
public void setColor(String color) {
    this.color = color;
}

它是xml:

<Figure>
<name>square</name>
<color>red</color>
</Figure>

这是一个简单的例子,我真正的问题是:如何在不更改“解析器/编码器/解码器”的情况下支持对象的组合或对模型的更改?

4

3 回答 3

1

使用XMLEncoder

XMLEncoder e = new XMLEncoder(new BufferedOutputStream(new FileOutputStream("Test.xml")));
e.writeObject(new Figure("car", "blue"));
e.close();

或者看看xstream

XStream xstream = new XStream(new DomDriver());
xstream.alias("Figure", Figure.class);
String xml = xstream.toXML(new Figure("car", "blue"));
于 2012-10-11T18:35:19.423 回答
1

使用Xstream。您将创建一个自定义 Converter 类,并使用 canConvert() 方法将您的类(您的模型)映射到它。如果您正在创建自定义 Converter 类,则不需要在模型类中添加注释。

于 2012-10-11T19:39:44.393 回答
0

蓖麻怎么样 - http://www.castor.org/

于 2012-10-11T18:33:40.750 回答