Захватить номер байта / смещение для SAXParser - PullRequest
2 голосов
/ 14 апреля 2011

Как и в этот вопрос Я пытаюсь записать точную позицию при разборе XML.

Я уже использую SAX Locator, переданный в setDocumentLocator() для записи строки и столбцачисло, но это не дает смещения от начала файла.Есть ли способ найти количество байтов, прочитанных на данный момент парсером SAX или смещением каждой строки, без повторного чтения всего файла?

Ответы [ 2 ]

1 голос
/ 15 апреля 2011

Я нашел другой вопрос и ответ , который предлагает использовать XMLStreamReader вместо SAXParser, потому что вместо него getLocation().getCharacterOffset(). У него уже есть именно то, что мне нужно.

1 голос
/ 14 апреля 2011

Гипотетически, вы можете использовать CountingInputStream из общего ввода-вывода Apache.

...