Я использую интерфейс XMLStreamReader
из javax.xml
для анализа XML-файла. Файл содержит огромные объемы данных и отдельные текстовые узлы размером в несколько килобайт.
Проверка и чтение, как правило, работают очень хорошо, но у меня проблемы с текстовыми узлами, длина которых превышает 15 000 символов. Проблема возникает в этой функции
String foo = "";
if (xsr.getEventType() == XMLStreamConstants.CHARACTERS) {
foo = xsr.getText();
xsr.next(); // read next tag
}
return foo;
xsr
считыватель потоков. Текст в текстовом узле имеет длину 53'337 символов в данном конкретном случае (но различается), однако метод xsr.getText()
возвращает только первые 15'537 из них. Конечно, я мог бы зациклить функцию и объединить строки, но почему-то я не думаю, что это идея ...
Я не нашел ничего в документации или где-либо еще об этом. Это предполагаемое поведение или кто-то может подтвердить / опровергнуть это? Я использую это как-то неправильно?
Спасибо