给出这样的对象:
@XmlRootElement(name = "node")
public class Node {
@XmlElement(name = "data")
private String data;
}
我想通过以下方式序列化它:
<node><data [string]/></node>
我该怎么做?
我的字符串包含多个属性,例如x='1' y='2'
。
答案 0 :(得分:0)
您需要将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
必须由@XmlAttribute
而不是@XmlElement
注释。
这将产生XML,例如
<node><data x="1" y="2"/></node>