我知道某些字符需要在XML中进行转义,而&符号就是其中一个字符。
根据这个,只需要转义5个字符: What characters do I need to escape in XML documents?
我的问题是,如果您有&符号,并且其中没有其中一个,那是否意味着XML无效?
我之所以要问的原因是因为我正在使用一个返回此内容的网络服务:
<blah></blah>
我正在尝试确定它是有效还是无效的XML。如果它无效,我会要求他们修复它。如果它有效,那么我的PHP代码没有正确处理它,我需要修复它。
根据w3schools验证(http://www.w3schools.com/xml/xml_validator.asp),它是无效,但我只是想确定。
答案 0 :(得分:1)
&符号也可能是numeric character reference的一部分,但XML中允许的特定字符(
)不:
<强> Character Range 强>
[2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
次要说明:您的意思是格式正确,而不是有效。见Well-formed vs Valid XML.