有一个带有类似字段的光环类:
private String description; // a lot of text
private long price;
private int count;
.. 我发现 for price
andcount
@XmlAttribute
被使用,但不是description
. 为什么?
有什么区别以及它们如何/在哪里存储?
有一个带有类似字段的光环类:
private String description; // a lot of text
private long price;
private int count;
.. 我发现 for price
andcount
@XmlAttribute
被使用,但不是description
. 为什么?
有什么区别以及它们如何/在哪里存储?
IBM 网站上非常好的文章
如果有问题的信息本身可以用元素标记,请将其放入元素中。
如果信息适用于属性形式,但最终可能成为同一元素上的多个同名属性,请改用子元素。
如果要求信息采用标准的类似 DTD 的属性类型,例如 ID、IDREF 或 ENTITY,请使用属性。
如果不应针对空白对信息进行规范化,请使用元素。(XML 处理器以可以更改属性值的原始文本的方式对属性进行规范化。)
XmlElement 和@XmlAttribute 都是非常自记录的。
@XmlElement 将被序列化为一个 Xml 元素(当前节点的子节点)
@XmlAttribute 将被序列化为 Xml 属性。
关于何时选择其中一个,knowbody 的答案非常清楚。
所以在你的例子中,你应该得到类似的东西
<halo price="..." count="..." >
<description>...</description>
</halo>