2015-08-14 2 views
-1

Я пытаюсь проанализировать XML-файл с использованием SAX-анализатора. Но когда он находит &, он дает мне ошибку «Имя объекта должно немедленно следовать за« & »в ссылке на сущность.». Как я могу сделать парсер игнорировать «&» при разборе или, если это возможно, чтобы преобразовать его в & из самого ОТДигнорирование & in DOM XML-анализатор

+0

Эти текстовые амперсанды должны быть записаны как '&' для правильного XML. 'string = string.replace (" & "," & ");' –

+0

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

ответ

1

Ваш вклад не является действительным XML, так как он, кажется, содержит & символы, которые не следуют сущности имя или символ.

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

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

1
  1. Найти человек/лицо, ответственное за производство недопустимого ввода XML

  2. Убедитесь, что лицо/организация никогда в его/ее/его жизни никогда не будет способен газодобывающих недействительных XML снова

  3. Повторите для любого нового преступника

Использование ненужного насилия в задержании в XML злодеями было одобрено

Или, вы можете просто уйти и использовать TagSoup или что-то подобное.