Что означает исключение org.apache.xmlbeans.XmlException с сообщением о & # 8220; неожиданном элементе: CDATA & # 8221; имею в виду?

StackOverflow https://stackoverflow.com/questions/1407101

Вопрос

Я пытаюсь проанализировать и загрузить XML-документ, однако я получаю это исключение, когда вызываю метод parse для класса, расширяющего XmlObject. К сожалению, он не дает мне представления о том, какой элемент является неожиданным, что является моей проблемой.

Я не могу поделиться кодом для этого, но я могу попытаться предоставить больше информации, если это необходимо.

Это было полезно?

Решение

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

Попробуйте уменьшить размер входного XML, удалив его части, гарантируя, что базовый XML-документ остается правильно сформированным и, возможно, допустимым (если в настройках вашего синтаксического анализатора требуется достоверность). Если вы сохраняете действительность, для этого может потребоваться изменить [копию] Схемы (DTD или другое), так как обязательные элементы могут быть удалены во время подхода «пробуй и пробуй» ... Кстати, сообщение об ошибке, похоже, больше намекает на проблема проверки, которая является основной проблемой правильного утверждения.

Если у человека нет особой догадки относительно области, вызывающей жалобу анализатора, мы обычно удаляем (или повторно добавляем, когда все начинает работать) около половины того, что было ранее вырезано или повторно добавлено.

Вы также можете начать с попытки в основном пустого файла, чтобы утверждать, что синтаксический анализатор работает вообще ... Есть идея «разделить на преобладающие»: проблема во вводе XML или в анализаторе ? (помня, что может быть две проблемы, одна на входе и одна на анализаторе, и что такие проблемы могут быть даже не связаны ...)

Извините, что излагаю базовые методы диагностики, с которыми вы, возможно, хорошо владеете ...

Другие советы

Вы должны проверить аргументы, которые вы передаете методу parse (); Если вы передаете строку для анализа, файла или входного потока соответственно (File / InputStream / String) и т. Д.

Исключение вызвано длиной файла XML. Если вы добавите или удалите один символ из файла, синтаксический анализатор выполнится успешно.

Проблема возникает в сторонней библиотеке PiccoloLexer, на которую опирается XMLBeans. Это было исправлено в ревизии 959082, но не было применено к банке 2,5 штуки.

XMLBeans - проблема с файлами XML, если длина точно равна 8193 байтам

Обнаружена проблема в XMLBean Jira

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top