2011-07-05 3 views
2

そうXMLStreamReader - ファイルの最後にはどうなりますか?

while(streamReader.hasNext()){ 
    streamReader.next(); 
    if(streamReader.getEventType() == XMLStreamReader.START_ELEMENT){ 
     System.out.println(streamReader.getLocalName()); 
    } 
} 

ようなXML文書をトラバース私はそうのように、再びXMLドキュメントを横断する必要がある場合は、新規のStreamReaderを作成する必要がありますか?

XMLStreamReader streamReader = 
     factory.createXMLStreamReader(reader); 

私は「リセット()」のような方法は、XMLファイル

+0

'以前の'および/または 'リセット'機能を追加サポートしているXMLストリームリーダーがありますか? –

答えて

3

はいの先頭に戻ってカーソルを移動するために表示されていない、あなたはその時点で新しいリーダーを作成する必要があります。

ドキュメントを何度もトラバースする必要がある場合は、最初にストリーミング形式で解析して、説明のDOMにロードするのではなく、

+1

いいえ、XMLファイルが安全のためにかなり大きくなる可能性があるので、私はStAXパーサを使用しています。 DOMとして解析するとメモリが大量に消費される可能性があります。答えをありがとう。 – Joeblackdev

関連する問題