2
我最近使用xjc
工具基於XSD創建了一系列對象。我遇到的問題是,我從一個看起來像這樣的源接收XML:JAXB從XML檢索單個元素
<foos>
</foos>
<foo>
</foo>
<foo_detail_1>
</foo_detail_1>
<foo_detail_2>
</foo_detail_2>
這是不理想的。我的問題是,當我去解組XML時,我如何創建每個單獨的對象?這就像這樣:
Foo foo = (Foo)um.unmarshal("myXML.xml");
Foo_Detail_1 fd = (Foo_Detail_1)um.unmarshal("myXML.xml");
還是這更在利用XPath來填充這些屬性,如果有的話是什麼解決這個正確的方法練習?
我寧願這樣做是在一次通過是否有可能防止不得不遍歷整個文件多次? FWIW整個文件將適合內存 – Woot4Moo
@ Woot4Moo - StAX解析器只會遍歷文檔一次。或者,您可以創建一個保存所有單個對象的根對象。 –
所以,如果我創建包裝節點,我可以只做'Wrapper w =(Wrapper)unmarshall(myXml.xml)'而不是玩對象集合? – Woot4Moo