Как включить кодировки не IANA при использовании javax.xml.stream.XMLStreamReader - PullRequest
0 голосов
/ 08 июня 2018

Я использую javax.xml.stream.XMLStreamReader для анализа XML-документов.К сожалению, некоторые документы, которые я анализирую, используют имена кодирования не IANA, такие как «macroman» и «ms-ansi».Например:

<?xml version="1.0" encoding="macroman"?>
<foo />

Это приводит к взрыву синтаксического анализа с исключением:

javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,42]
Message: Invalid encoding name "macroman".

Есть ли способ предоставить пользовательский обработчик кодирования для моего XMLStreamReader, чтобы я могможно дополнить поддержкой нужных мне кодировок ??

1 Ответ

0 голосов
/ 17 марта 2019

Можно обернуть входной поток преобразователем, который заменяет нестандартную кодировку эквивалентной кодировкой, которую XMLStreamReader понимает.

См. Фильтр (поиск и замена) массива байтов вInputStream

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...