gpt4 book ai didi

java - JAXB @XmlElementWrapper 使用包装对象的@XmlRootElement

转载 作者:行者123 更新时间:2023-11-30 09:03:58 33 4
gpt4 key购买 nike

如何告诉 JAXB 对包装在 @XmlElementWrapper 集合中的数据使用 @XmlRootElement 注释?我知道您可以使用 @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/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com