以XML格式转义&符号

时间:2016-07-06 17:10:39

标签: php xml ampersand

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

根据这个,只需要转义5个字符: What characters do I need to escape in XML documents?

我的问题是,如果您有&符号,并且其中没有其中一个,那是否意味着XML无效?

我之所以要问的原因是因为我正在使用一个返回此内容的网络服务:

<blah>&#4;</blah>

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

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

1 个答案:

答案 0 :(得分:1)

&符号也可能是numeric character reference的一部分,但XML中允许的特定字符(&#4;

<强> Character Range

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

次要说明:您的意思是格式正确,而不是有效。见Well-formed vs Valid XML.