XML非法属性值

Nei*_*day 0 html java xml sax

我在java中使用SAX解析器来读取一些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)

我有一种感觉,它不喜欢我在XML中的字符串中有一些HTML标签的事实.我认为从语法角度来看,引号内的任何内容都会被忽略.此外,在这里使用单引号是否有效?这是一个例子:

<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>
Run Code Online (Sandbox Code Playgroud)

Chr*_*ris 5

您需要转义属性值的<内部text.由于XML使用<和>来表示标记,因此除非转义或包含在CDATA标记中(这不是属性值的选项),否则它在内容中是非法的.