2

この質問のように、XML を解析するときに正確な位置を記録しようとしています。

Locator行番号と列番号を記録するために渡された SAX を既に使用していsetDocumentLocator()ますが、ファイルの先頭からのオフセットは得られません。ファイル全体を再読み取りせずに、SAX パーサーまたは各行のオフセットによってこれまでに読み取られたバイト数を見つける方法はありますか?

4

2 に答える 2

1

仮に、ApacheCommonsIOのCountingInputStreamを使用できます。

于 2011-04-14T14:01:29.930 に答える
1

SAXParser の代わりに XMLStreamReader を使用することを提案する別の質問と回答を見つけましgetLocation().getCharacterOffset()た。それはすでに私が必要とするものを正確に持っています。

于 2011-04-14T20:12:22.903 に答える