1 回答
TA贡献1864条经验 获得超6个赞
你可以试试这个:
使用如下参考类,
@XmlAccessorType(XmlAccessType.FIELD)
public class Reference {
@XmlAttribute
private String id;
}
还有你的 Root 类,
@XmlRootElement(name="Date")
public class TestPojo {
@XmlMixed
@XmlAnyElement
private List<Object> textContent;
@XmlElement
private Reference reference;
}
这将解组给您参考元素和列表中的其他所有内容。
对于您的示例,它将有 2 个条目。日期值/文本以及制表符 (\t) 和换行符 (\n),以及另一个带有换行符的条目。
所以你可以使用这个列表来处理内容并使用你想要的。
如果有更清洁的解决方案,我很感兴趣。干杯
更新回复评论:
为了更清楚地修复。我所做的是使用@XmlElement而不是@XmlElementRef单个引用而不是列表(因为这就是我在 xml 中看到的)。
我还添加了@XmlAnyElement混合内容的注释,使其成为一个列表。这就是修复它的原因。因此,坚持你的课程,它看起来像下面这样:
@XmlRootElement(name="Date")
public class TestPojo {
List<Object> textContent;
Reference ref;
@XmlMixed
@XmlAnyElement
public List<Object> getTextContent() {
return textContent;
}
public void setTextContent(List<Object> textContent) {
this.textContent = textContent;
}
@XmlElement(name="reference")
public Reference getRef() {
return ref;
}
public void setRef(Reference ref) {
this.ref = ref;
}
}
这@XmlAccessorType
节省了我编写 getter 和 setter 的时间。
添加回答
举报