我收到的XML看起來像這樣,使用XMLBeans的解析它:如何將xml名稱空間添加到Java中的非根元素?
<reply xmlns="http://www.xmlisfun.com/abc/def/1.0">
<item-list>
<item>
<item-data>data</item-data>
</item>
</item-list>
</reply>
有一個名爲ItemListReplyType所導入的模式複雜類型。
由於有人在模式定義中混淆,XMLBean分析的對象將無法正確生成ItemListReplyType對象。 ItemListReplyType對象總是會說它不包含任何「item」對象。這是由於一些命名空間衝突。我注意到,當我解析以下內容時,我能夠從ItemListReplyType對象的代碼中正常檢索對象數組(數組不是空 - 「item」對象按預期方式存在)。
<reply xmlns="http://www.xmlisfun.com/abc/def/1.0">
<item-list>
<prefix:item xmlns:prefix="http://www.xmlisfun.com/particular_namespace">
<prefix:item-data>data</prefix:item-data>
</prefix:item>
</item-list>
</reply>
不用說,正確的解決方案是修復對模式所做的破解並重新生成所有的XMLBeans對象。然而,一年前在項目建立在所有這些對象之前,這將是一個很好的解決方案。我寧願不惹禍。
是否有一種方法可以輕鬆修改XML以將名稱空間和前綴添加到所有項目元素及其子項?我正在努力做到手動完成並完成它。我想我會在這裏尋求幫助。
謝謝。