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 的時間。
添加回答
舉報