不应将哪个字符设置为XML文件中的值

mai*_*ash 0 xml vbscript perl dom

我注意到当我使用"&"字符配置XML文件值时,XML文件无法正确打开

我想这是因为XML文件值不应该有一些字符作为&

并且"&"不应在XML文件中设置为值

如果有更多字符不应在XML中设置为值,请提供建议吗?(或者也许&字符是唯一的??)

来自XML"&"的错误值的示例

<FolderPath>\EEA\E1\C & W 100\AWQ</FolderPath>
Run Code Online (Sandbox Code Playgroud)

来自XML的右行示例

 <FolderPath>\EEA\E1\C and W 100\AWQ</FolderPath>
Run Code Online (Sandbox Code Playgroud)

ike*_*ami 5

安全的做法是始终如下逃避:

&  ?  &amp;
<  ?  &lt;
>  ?  &gt;
"  ?  &quot;
'  ?  &apos;
Run Code Online (Sandbox Code Playgroud)

详细解答:

  • &在元素文本和属性值中是特殊的.请&amp;改用.
  • <在元素文本中很特别.请&lt;改用.
  • > 本身并不特别.
  • "特殊于由分隔的属性值".请&quot;改用.
  • '特殊于由分隔的属性值'.&apos;改为使用[1].
  • ]]>在元素文本中很特别.请]]&gt;改用.
  • ]]>CDATA部分是特别的.请]]>]]&gt;<![CDATA[改用.
  • -- 不能用于评论.
  • 在XML中只能找到以下字符:0x0009,0x000A,0x00D,0x0020..0xD7FF,0xE000..0xFFFD,0x10000..0x10FFFF.没有办法包括其他人.

&amp;,&lt;,&gt;,&quot;并且&apos;可以随时在元素文本中使用和属性值,即使它没有必要这么做,所以安全的事情是要始终逃脱&,<,>,"'.(或者,除了单引号外,总是将它们全部转义,并且永远不要使用单引号作为属性值的分隔符.)


  1. 在HTML中,您必须使用&#39;.旧版本的Internet Explorer意外地不支持&apos;XHTML(基于XML的HTML).因此,有些人也使用&#39;XML.