Недопустимый символ XML (Unicode: 0x0) Ошибка - решение проблемы - PullRequest
0 голосов
/ 18 марта 2020

После анализа нескольких XML файлов с использованием Java я получаю

XMLStreamException: An invalid XML character (Unicode: 0x0) was found in the element content of the document.

Если кто-нибудь когда-либо сталкивался с этим сообщением, и вы ранее зная, что ваш файл должен быть правильно закодирован при сохранении (возможно, повреждение файла произошло неожиданно для 1 из сотен файлов), как бы вы отследили причину ошибки в файле?

1 Ответ

0 голосов
/ 18 марта 2020

Я публикую свой ответ на этот вопрос. Это самый простой способ решить эту проблему. Я не проверял это.

Перейдите в оболочку и введите:

tr < badfile.xml > other.xml

... создав файл с именем other. xml, который не содержит нулей. Затем введите cmp other.xml badfile.xml, чтобы получить номер строки местоположения ошибочного нулевого значения в неверном файле.

Наконец, используйте текстовый редактор, который обнаруживает, что эти вещи перемешаны в тексте, чтобы найти в плохом файле ошибочный нулевой символ. Два примера текстовых редакторов, которые делают это, Emacs или Vim.

Затем отредактируйте символ или определите, правильно ли вы кодировали в первую очередь.

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