0
我解組simalar XML(同根元素,但不同的字段)與Spring3和JAXB2春JAXB2解組重複XML根元素名稱
我使用的春天來定義我的XML轉換器如下不同的對象有問題:
<bean id="xmlConverter" class="org.springframework.http.converter.xml.MarshallingHttpMessageConverter">
<property name="marshaller" ref="jaxbMarshaller"></property>
<property name="unmarshaller" ref="jaxbMarshaller"></property>
<property name="supportedMediaTypes" value="text/xml" />
</bean>
<bean id="jaxbMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<list>
<value>com.my.project.Object1</value>
<value>com.my.project.Object2</value>
<value>com.my.project.Object3</value>
</list>
</property>
所以,問題歸結爲每個對象具有相同的@XmlRootElement(name =「XML」),但完全不同的領域。 當我只有一個對象定義每個對象unmarshalls正確,但是當我添加多個,它繼續假設最後一個,我猜測一些壓倒一切的問題。
任何人都有如何解決這個問題的想法?
編輯:解決方案我創建了一個大對象與所有領域,這解決了這個問題。不是最好的解決方案,但它運作良好。
嗨,這有一定道理..現在拿起合適的對象編組,但得到這樣的:(因此XML名稱是「的轉交」) 獲得「HttpMessageNotReadableException: 無法讀取[類別Com .. .xml.PingResponse]; 嵌套異常是... javax.xml.bind.UnmarshalException:意外元素(uri:「」,local:「TransferTo」)。 預期元素是<{com..xml.checkwalletresponse} TransferTo >, <{com..xml.msisdninforesponse} TransferTo>, <{com..xml.pingresponse} TransferTo>「 有什麼想法? – Marius
下次嘗試編輯您的問題或請求一個新的問題。 也許http://blog.bdoughan.com/2012/07/jaxb-and-root-elements.html有助於解決您的問題。 – MystyxMac