我想生成数据模型的xml表示,我不想修改我的模型addind,如JAXB和anotattions来描述它。 我想要一个透明和灵活的设计。
有什么想法吗?
谢谢!
编辑 - Ading示例
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>
这是一个微不足道的例子,我真正的问题是: 如何在不更改“解析器/编码器/解码器”的情况下支持对象组合或模型更改?
答案 0 :(得分: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"));
答案 1 :(得分:1)
使用Xstream。 你会create a custom Converter class,并使用canConvert()方法将你的类(你的模型)映射到它。如果您要创建自定义Converter类,则不需要在模型类中添加注释。
答案 2 :(得分:0)
蓖麻 - http://www.castor.org/怎么样?