我想解组具有混合内容的 XML 文件。我在 stackoverflow 上发现了一个似乎合适的线程(用于读取 @XmlValue 和 @XmlElement 的 JAXB- @XmlMixed 用法),其中用户 bdoughan 定义了 3 个用例来处理混合内容。
第三个用例将标签之间的文本保留在单个字符串变量中,并将元素保存在列表中。这就是我想要的。不幸的是,我无法让它工作,而且该线程很旧,可能已经过时了。
我已经尝试了用例#3 和对象列表以及我的参考类列表。我还尝试了@XmlElement 和@XmlValue 注释。
我在 Java SE 版本 12.0.2 的 Maven Projec 中使用版本 2.3.1 中的 javax.xml.bind jaxb-api 和版本 2.3.1 中的 org.glassfish.jaxb jaxb-runtime。
我测试过的示例 XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Date>
2018.06.27
<reference id="AnyId1">
</reference>
</Date>
Run Code Online (Sandbox Code Playgroud)
我的班级代表
@XmlRootElement(name="Date")
public class TestPojo {
@XmlMixed
public String getTextContent() {
return textContent;
}
public void setTextContent(String textContent) {
this.textContent = textContent;
}
@XmlElementRef(name="reference", type = Reference.class) …Run Code Online (Sandbox Code Playgroud)