2011-07-02 36 views
1

我必須使用JAXB將xml-soap字符串解組爲Java對象。 XML包含大量的空標籤的充滿屬性,在消息中的實例大多數信息中繼如下:jaxb umarshalling問題:無法獲得空xml標籤上的屬性

<ID code="123" codeSystem="12.12.12"/> 

我感興趣的屬性。

問題: 如果我在解組之後檢查對象,則所有空標記(如上面那個)在Java對象中都沒有表示(例如爲空)。只有已填充的標籤(例如123已被添加到Java對象中) 也許這種行爲符合xml標準,但我仍然對屬性感興趣。 有人可以告訴我是否有辦法獲取屬性嗎?

可能的解決方法:給每個元素的默認值(「」)時,通過使用綁定文件綁定到一個適配器及其零,但我只是成功地這樣做了簡單的類型

使用的版本。 :我們在Java 1.6中使用jaxb實現

非常感謝。

Wybrand。

回答

1

我解決了這個問題。但問題不在於JAXB。

發送我必須在umarshall中發送XML的一方在元素聲明中放置了一個'null namespace'。

XML片段:

id元素在其聲明xmlns = 「」。 (我認爲這是一個錯誤),根標籤有聲明xmlns:ns3 =「urn:hl7-org:v3」

由於這個原因(我認爲)jaxb unmarshaller沒有看到id元素作爲的消息。