问题描述
给定这样的对象:
@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>