Неверное значение атрибута XML - PullRequest
0 голосов
/ 18 ноября 2011

Я использую синтаксический анализатор SAX в Java для чтения XML. XML, который я даю, имеет проблемы и вызывает сбой анализа. Вот сообщение об ошибке:

11-18 10:25:37.290: W/System.err(3712): org.xml.sax.SAXParseException: Illegal: "<" inside attribute value (position:START_TAG <question text='null'>@1:23 in java.io.InputStreamReader@4074c678)

У меня такое ощущение, что ему не нравится тот факт, что у меня есть некоторые теги HTML внутри строки в XML. Я думаю, что все внутри кавычек игнорируется с точки зрения синтаксиса. Кроме того, допустимо ли использовать здесь одинарные кавычки? Вот пример:

<quiz>
    <question text="<img src='//files/alex/hilltf.PNG' alt='hill' style='max-width:400px' />  is represented on map by cut. ">
        <answer text="1"/>
        <answer text="2" correct="true"/>
    </question>
</quiz>

Ответы [ 2 ]

5 голосов
/ 18 ноября 2011

Вам нужно экранировать < внутри значения атрибута text.Поскольку XML использует <и> для обозначения тегов, он недопустим в контенте, если не экранирован или не заключен в тег CDATA (который не является опцией для значения атрибута).

4 голосов
/ 18 ноября 2011

Сообщение об ошибке верное.< должно быть началом тега и не может появляться внутри строки.Это должно быть &lt; вместо этого.Я не верю, что цитаты - это проблема.

...