您如何告诉JAXB使用包装在@XmlRootElement
集合中的数据的@XmlElementWrapper
批注?我知道您可以使用@XmlElement
为每个单独的项目命名,但是我很想知道是否有办法让它自动为我捡起。
例如:
@XmlElementWrapper (name = "records")
private List<?> records;
将产生:
<records>
<records ...>
<child_with_proper_name ... />
</records>
但是,假设
List
包含以下对象:@XmlRootElement (name = "my_element")
我想生成这个:
<records>
<my_element>
<child_with_proper_name />
</my_element>
</records>
不这样做:
@XmlElementWrapper (name = "records")
@XmlElement (name = "my_element")
private List<?> records;
似乎应该知道选择
@XmlRootElement
名称,但它并没有这么做。 最佳答案
您可以执行以下操作:
@XmlElementWrapper (name = "records")
@XmlAnyElement(lax=true)
private List<?> records;
注意
在非编组操作中,遇到的任何与
@XmlRootElement
注释不对应的元素都将保留为DOM节点。关于java - JAXB @XmlElementWrapper使用包装对象的@XmlRootElement,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25413497/