簡體   English   中英

XML非法屬性值

[英]XML Illegal Attribute Value

我在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>

您需要對text屬性值內的<進行轉義。 由於XML使用<和>來表示標記,因此除非在CDATA標記中轉義或將其括起來(這不是屬性值的選項),否則其內容上是非法的。

錯誤消息是正確的。 <必須是標記的開頭,並且不能出現在字符串中。 它必須是&lt; 代替。 我認為引號不是問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM