在 XML 中转义与号


escaping ampersands in XML

我知道某些字符需要在XML中进行转义,而与号就是其中之一。

据此,只有 5 个字符需要转义:在 XML 文档中需要转义哪些字符?

我的问题是,如果你有一个 & 符号,并且它后面没有其中一个,这是否意味着 XML 无效?

问的原因是因为我正在使用返回以下内容的 Web 服务:

<blah>&#4;</blah>

我正在尝试确定它是有效的还是无效的 XML。 如果它无效,我会要求他们修复它。 如果它是有效的,那么我的 php 代码没有正确处理它,我需要修复它。

根据w3schools验证(http://www.w3schools.com/xml/xml_validator.asp),它是无效的,但我只是想确定一下。

与号也可以是数字字符引用的一部分,但该特定字符 (&#4;) 在 XML 中是不允许的:

字符范围

[2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]

小注意:你的意思是格式良好,无效。 请参阅格式正确的 XML 与有效的 XML。