【问题标题】:escaping ampersands in XML在 XML 中转义 & 符号
【发布时间】:2016-07-06 17:10:39
【问题描述】:

我了解某些字符需要在 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),它无效,但我只是想确认一下。

【问题讨论】:

    标签: php xml ampersand


    【解决方案1】:

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

    Character Range

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

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

    【讨论】:

    • 完美答案。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2018-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-20
    • 2013-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多