是否可以有一个用值 AND 元素呈现的 JAXB 元素?
我正在尝试渲染类似的内容:
<thing>
<otherthing></otherthing>
This is some text
</thing>
它甚至知道可能不是有效的 XML,但不幸的是,我尝试呈现的内容需要它并且不是可选的。
拥有值和元素会引发IllegalAnnotationExceptions
。
最佳答案
您所显示的是完全有效的 XML。具有 text()
和 element
子元素的元素称为 mixed content .
使用@XmlMixed
JAXB 注释而不是 @XmlValue
来指示该元素是混合内容。
import java.util.*;
import javax.xml.bind.annotation.*;
@XmlRootElement
public class Thing {
private List<Object> mixedContent = new ArrayList<Object>();
@XmlElementRef(name="thing", type=Thing.class)
@XmlMixed
public List<Object> getMixedContent() {
return mixedContent;
}
public void setMixedContent(List<Object> mixedContent) {
this.mixedContent = mixedContent;
}
}
关于java - JAXB @XmlValue 和 @XmlElements,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53529487/