XStreamを使用して大きなXMLファイル(〜1 GB)をインポートしようとしています。を使用してストリーミングを読み取りたいのですがObjectInputStream
、最初の要素をスキップしてからいくつかの要素を下に移動する必要があります(以下を参照してくださいbag_LVC:Woonplaats
。要素をインポートする必要があります)。
私の興味のある要素まで探求されてきたxstreamaReader
またはaをフィードする方法があると思います。InputStream
自分で作成HierarchicalStreamReader
して正しい要素に移動しようとしましたが、上下にしか移動できません。
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();
xstreamまたはいずれかのXPPドライバーには、興味のある要素を探す方法がありますか?
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 -->