簡體   English   中英

JAXB編組和解組避免名稱空間

[英]JAXB Marshalling and unmarshalling avoiding namespaces

這是一個非常普遍的問題,但是如果有人可以為我提供解決方案,我仍然需要一個特定的解決方案。

JAXB.unmarshal('file', class);

但是,由於xml文件中存在命名空間,因此類對象未填充內部元素。

我發現的解決方法是創建一個JAXBContext對象create和unmarshaller,然后使其知道名稱空間。

我很想知道是否還有其他解決辦法。

如果XML使用名稱空間,則這些名稱空間是元素名稱的一部分,因此不應像對待未命名空間的元素一樣對其進行解析。 因此,這不是JAXB中的選項。 這些問題上一個問題給出了唯一的解決方案,即在解組和除去所有名稱空間之前對XML進行清理,並將JAXB對象綁定到未命名空間的名稱。

如果節點始終使用名稱空間URI進行限定,則應將此名稱空間信息添加到JAXB綁定中。 許多JAXB批注采用名稱空間參數(即XmlRootElement,XmlAttribute,XmlElement等)。 此外,還有一個名為@XmlSchema的包級別注釋,您可以使用它來指定默認名稱空間和默認名稱空間限定規則。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM