我有以下XSD我用它來生成的JAXB對象JAXB解析 「minOccours」 - 問題與unmarshling
<xs:complexType name="packageType">
<xs:sequence>
<xs:element ref="package" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="dependencies" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="xs:NMTOKEN" use="required"/>
</xs:complexType>
現在,如果我收到一個XML
- 沒有依賴標籤
- 空依賴關係標記即
示例XML
<package id="FA33" required="false" empty="false">
<dependencies />
</package>
在上述例子中,如果刪除了「依賴性」空標籤,JAXB拋出「包的意外結束」錯誤。
由於minOccours在那裏,這兩種情況都不應該有所作爲。但在我的情況下,JAXB無法取消惡化給定的xml case1即,如果沒有依賴關係標記。如果有一個空的依賴關係標記,那麼它會很好。
它是預期的行爲還是它做錯了什麼?
P.S: 我使用JAXB 1.3
JAXB 1參考實現的1.3版本相當陳舊。您是否可以升級到JAXB 2規範的實現:Metro,EclipseLink MOXy,Apache JaxMe等? –
你在問這裏的依賴關係。在你發佈的代碼片段中有「依賴關係」。你可以發佈與依賴關係的片段嗎?也許你錯過了那裏的一些東西。 –
升級到版本2目前不是一種選擇。這是一個錯誤,我已經解決了我的問題,將「依賴關係」替換爲「依賴關係」。還有一個樣本xml。 –