我注意到当我使用"&"配置XML文件值时字符,然后XML文件无法正确打开
我想这是因为XML文件值不应该有某些字符作为&
"&"不应在XML文件中设置为值
如果有更多字符不能在XML中设置为值,请提供建议吗? (或者可能&字符是唯一的??)
来自XML"&"
的错误值示例<FolderPath>\EEA\E1\C & W 100\AWQ</FolderPath>
XML的右线示例
<FolderPath>\EEA\E1\C and W 100\AWQ</FolderPath>
答案 0 :(得分:5)
安全的做法是始终如下逃避:
& ⇒ &
< ⇒ <
> ⇒ >
" ⇒ "
' ⇒ '
详细答案:
&
在元素文本和属性值方面很特殊。请改用&
。<
在元素文字中很特别。请改用<
。>
本身并不特别。"
在由"
分隔的属性值中特殊。请改用"
。'
在由'
分隔的属性值中特殊。使用'
代替 [1] 。]]>
在元素文字中很特别。请改用]]>
。]]>
在CDATA
部分中有特殊之处。请改用]]>]]><![CDATA[
。--
不能用于评论。 &
,<
,>
,"
和'
始终可以在元素文本和属性值中使用,即使没有必要这样做也是如此,所以安全的做法是始终逃避&
,<
,>
,"
和'
。 (或者,除了单引号外,总是将它们全部转义,并且永远不要使用单引号作为属性值的分隔符。)
'
。旧版本的Internet Explorer意外地不支持'
用于XHTML(基于XML的HTML)。因此,有些人也使用'
来表示XML。答案 1 :(得分:1)
我会推荐你:http://www.w3schools.com/xml/xml_syntax.asp
某些字符在XML中具有特殊含义。
如果你放置一个像“&lt;”这样的字符在XML元素中,它会生成错误,因为解析器会将其解释为新元素的开头。
XML中有5个预定义的实体引用:
< < less than
> > greater than
& & ampersand
' ' apostrophe
" " quotation mark
您可以使用以下方式验证XML: http://www.w3schools.com/xml/xml_validator.asp