Сказать SAX Parser игнорировать недопустимые символы?

коридоры:

SAX продолжает умирать из-за следующего исключения:

Invalid byte 2 of 3-byte UTF-8 sequence

Проблема в том, что он в основном правильно закодирован в UTF-8, но в нем есть несколько ошибок. Мы не можем получить новую версию файла, мы должны использовать этот файл.

Так как же нам сказать SAX игнорировать недопустимые последовательности символов или очистить файл UTF-8, чтобы в нем не было недопустимых последовательностей UTF-8?

Джон Скит:

Я хотел бы предложить вам очистить файл как полностью отдельный шаг от разбора его как XML.

UTF-8 - довольно простая для понимания кодировка; эта веб-страница показывает, как должен быть сформирован UTF-8. Я предлагаю вам написать программу, которая читает ваш входной файл и записывает новый файл. Он будет читать байт за байтом, записывая символ только тогда, когда он видит, что он был правильно сформирован. Когда он видит недопустимый байт, он записывает строку «UTF8ERROR» или какой-нибудь другой легко обнаруживаемый токен, который не встречается во входных данных. Тогда остальная часть персонажа будет пропущена.

После этого вы можете проверить, где произошли ошибки, и исправить данные ... затем проанализировать их как обычно.

Таким образом вы увидите, насколько широко распространены ошибки, посмотрите, есть ли в них какой-то шаблон, и, возможно, сможете их исправить. Если вы собираетесь получить больше данных из того же источника, я настоятельно рекомендую вам рассказать им о проблеме ... это может указывать на более серьезную проблему на их стороне.

Эта статья взята из Интернета, укажите источник при перепечатке.

Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.

Отредактировано в
0

я говорю два предложения

0обзор
Войти в системуУчаствуйте в комментариях

Статьи по теме

Используя SAX Parser, получите значение атрибута

В чем разница между XML Pull Parser и SAX Parser

SAX Parser: Как извлечь корневой элемент XML в Java без явно давая имя корня?

Как указать Java SAX Parser игнорировать недопустимые ссылки на символы?

Как читать текст комментария с помощью SAX Java parser

Правильное построение строк с помощью SAX Parser Java

Blocking thread running SAX Parser

Вызов xml.sax.make_parser () в Jython невероятно медленный - как мне его ускорить?

How to Parse XML without using DOM or SAX Parser in Java?

Определение, если на листе узла с SAX парсера

Значение синтаксического анализа, содержащее специальный символ "/", дает неверный результат с использованием синтаксического анализатора SAX

SAX: как получить содержимое элемента

Анализ SAX - эффективный способ получения текстовых узлов

Не могу прочитать некоторые атрибуты с помощью SAX

Какой шаблон я должен использовать для использования парсера SAX?

Парсер SAX: игнорирование специальных символов

Парсер SAX не отслеживает ссылки

SAX против XmlTextReader - SAX в C #

Что не так с типами моего класса Parser?

Описание моего типа Parser как серии преобразователей монад

Используя синтаксический анализатор SAX, вам нужны все элементы xml (под конкретным элементом) в виде строки

Как позволить синтаксическому анализатору SAX определять кодировку из объявления xml?

Ошибка синтаксического анализа SAX при использовании ISBN

Исключение из-за отсутствия памяти при анализе большого файла XML в парсере SAX

почему синтаксический анализ sax быстрее, чем анализ dom? а как работает стакс?

Парсер JAVA SAX разделяет вызовы символов ()

Xml не анализирует строку как ввод с помощью sax

Как мне получить правильные начальные / конечные местоположения тега xml с помощью SAX?

Мониторинг прогресса парсера Java SAX

TOP список

  1. 1

    Распределение Рэлея Curve_fit на Python

  2. 2

    TypeError: store.getState não é uma função. (Em 'store.getState ()', 'store.getState' é indefinido, como posso resolver esse problema?

  3. 3

    How to set windows.form's start position to bottom?

  4. 4

    Does addListener in JavaFX get garbage collected when the ChangeListener is typed as a lambda?

  5. 5

    В типе Observable <unknown> отсутствуют следующие свойства из типа Promise <any>.

  6. 6

    How to click an array of links in puppeteer?

  7. 7

    Перебирайте несколько столбцов в фрейме данных Panda и находите уникальные значения подсчета

  8. 8

    FormsAuthentication.SignOut () не работает после изменения CookieDomain

  9. 9

    PayPal REST API возвращает INVALID_CURRENCY_AMOUNT_FORMAT

  10. 10

    ContentDialog.showAsync в универсальном оконном приложении Win 10

  11. 11

    Как добавить Swagger в веб-API с поддержкой OData, работающий на ASP.NET Core 3.1

  12. 12

    Définition de la valeur par défaut dans le dictionnaire Python si la clé est manquante

  13. 13

    Набор данных Spark Streaming Cassandra Connection UnsupportedOperationChecker

  14. 14

    Merging legends in plotly subplot

  15. 15

    Проверьте, если коммит произошло на странице GitHub

  16. 16

    Преобразование символа в числовое значение ASCII в Java

  17. 17

    Есть ли у этого комбинатора Functor имя?

  18. 18

    Сохранить регистр в ConfigParser?

  19. 19

    Разделить набор на несколько наборов Scala

  20. 20

    Convert Array to Observable, perform transformations and return again as Array?

  21. 21

    MySQL - запрос не возвращает правильные результаты

популярныйтег

файл