与this question类似,我正在尝试记录解析XML时的确切位置。
我已经使用传递给Locator
的SAX setDocumentLocator()
来记录行号和列号但是没有给出文件开头的偏移量。有没有办法找到SAX解析器到目前为止读取的字节数或每行的偏移量而不重新读取整个文件?
答案 0 :(得分:1)
假设您可以使用Apache commons IO的CountingInputStream。
答案 1 :(得分:1)
我发现another question and answer建议使用XMLStreamReader而不是SAXParser,因为它有getLocation().getCharacterOffset()
。它已经完全符合我的需要。