XStreamを使用して大きなXMLファイル(〜1 GB)をインポートしようとしています。 ObjectInputStream
を使用してストリーミングを読みたいと思っていますが、最初の要素をスキップしてから、いくつかの要素を下に移動する必要があります(下記参照、bag_LVC:Woonplaats
要素をインポートする必要があります)。XStream:xstream.createObjectInputStream()で特定の要素を検索する方法
xstreamには何らかの形で、Reader
またはInputStream
が関心の対象となっています。 XStreamのかXPPドライバのいずれかが、あなたが私に求めてみましょうする方法を持っています
HierarchicalStreamReader xpp = new XppDriver().createReader(xmlFile);
xpp.moveDown(); // moves to <xb:antwoord>
xpp.move(); // **would move to <xb:producten>, but it private**
xpp.moveDown(); // moves to <xb:producten>
xpp.moveDown(); // moves to <product_LVC:LVC-product>
st = xstream.createObjectInputStream(xpp);
BagWoonplaats bw = (BagWoonplaats) st.readObject();
:私は私自身のHierarchicalStreamReader
を作成して、右の要素に移動しようとしましたが、あなただけ上下動することができます興味のある要素?
XML
<xb:BAG-Extract-Deelbestand-LVC>
<xb:antwoord>
<xb:vraag>
<!-- more elements here -->
</xb:vraag>
<xb:producten>
<product_LVC:LVC-product>
<bag_LVC:Woonplaats>
<!-- elements used as fields -->
</bag_LVC:Woonplaats>
<bag_LVC:Woonplaats>
<!-- elements used as fields -->
</bag_LVC:Woonplaats>
<!-- and so on -->