1
我有以下類:文本節點沒有解組的組合@XmlMixed + @XmlElementRefs + @XmlElementWrapper
@XmlRootElement(name = "any-text")
public class AnyText {
@XmlElementWrapper(name = "fixed-text", required = true)
@XmlElementRefs({
@XmlElementRef(name = "year", namespace = "http://foo.org/", type = JAXBElement.class, required = false),
@XmlElementRef(name = "title", namespace = "http://foo.org/", type = JAXBElement.class, required = false)
})
@XmlMixed
protected List<Serializable> fixedText = new ArrayList<Serializable>();
...
這應該代表了以下XML:當
<any-text xmlns="http://foo.org/">
<fixed-text>The story <title>Alice in Wonderland</title> was printed in <year>1865</year>.</fixed-text>
</any-text>
不過我解組和馬歇爾這個XML,我得到這個:
<any-text xmlns="http://foo.org/">
<fixed-text>
<title>Alice in Wonderland</title>
<year>1865</year>
</fixed-text>
</any-text>
基本上所有文字節點不見了。我檢查了內存模型,發現它們沒有解組。當我嘗試以編程方式添加文本節點並編組模型時,文本節點仍然不出現。任何解決方法,讚賞。
我正在使用JAXB v2.2.4,但我也測試過v2.2.8,但沒有成功。
此問題與描述的here中的一個非常相似(可能是相同的),我也將其報告爲JAXB-1107。
我可以確認這也是'@ XmlMixed' /'@ XmlElementWrapper' /'@ XmlAnyElement'放在同一個屬性上的情況。 – studro