问题描述
给定这样的对象:
@XmlRootElement(name = "node")
public class Node {
@XmlElement(name = "data")
private String data;
}
我想以这种方式序列化它:
<node><data [string]/></node>
我怎样才能做到这一点 ?
我的字符串包含多个属性,例如x='1' y='2' 。
1楼
您不需要将Java字段data建模为String ,而是将其建模为它自己的类(我们将其称为Data )。
所以,代替
@XmlElement(name = "data")
private String data;
你需要
@XmlElement(name = "data")
private Data data;
然后,新的Data类将包含Java字段x和y
public class Data {
@XmlAttribute(name = "x")
private int x;
@XmlAttribute(name = "y")
private int y;
}
请注意, x和y需要使用而不是@XmlElement进行注释。
例如,这将产生XML
<node><data x="1" y="2"/></node>