我有一個基於XSD的XML。該XSD是JAXB創建空對象
<xs:complexType name="objectOneType" mixed="true">
<xs:sequence>
<xs:element ref="nestedObject" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="attribute" type="xs:string" use="optional"/>
</xs:complexType>
現在,當我收到此XML
<xmlresponse>
<xmlrequest>
<objectone attribute="changed" />
</xmlrequest>
<xmlsrc>
<objectone attribute="changed" />
</xmlsrc>
</xmlresponse>
在這個XML,對象OBjECTONE沒有名爲NESTEDOBJECT的對象。現在不是忽略它,而是插入一個空的對象在對象這是STRING類型。所以當我的代碼試圖處理OBJECTONE假設它有一個對象類型NESTEDOBJECT。它拋出classcast異常。
有什麼想法?
P.S:sicne我使用JAXB 1.2
可能是一個愚蠢的說法,但是,在您的xsd中,您定義了一個名爲「objectOneType」的複雜類型,而您的xml具有「objectone」對象... – chahuistle
我將xml從原始更改爲post tackoverflow。原始的xml/xsd沒有這些問題。 xml響應正在通過http://tools.decisionsoft.com/schemaValidate/results.jsp –