URL在XML中被视为无效

时间:2011-04-08 10:35:42

标签: xml validation url encoding

当我尝试验证此XML时,出现错误:

<url>http://example.org/?a=1&b=2</url>

验证者说:“对实体”b“的引用必须以';'结尾分隔符“。引用字符串中的第二个等号(=)。

为什么会这样? URL应该以某种方式编码吗?

2 个答案:

答案 0 :(得分:6)

XML中不允许使用

&,因为它启动实体序列(通常是对字符的命名引用,例如&eacute;的{​​{1}})。实体序列以é开头,以&结尾,并在它们之间包含实体名称。

要插入;,请编写此实体序列:&

还有几个字符需要作为实体编写:双引号&amp;")当它在XML属性中时,尖括号&quot;,{{ 1}}(<>),因为它们在XML中具有特殊含义。

答案 1 :(得分:2)

&是XML中的受保护字符。

您可以将其替换为实体&amp;

<url>http://example.org/?a=1&amp;b=2</url>