XML 文档中需要转义哪些字符?

2024-03-30

XML 文档中必须转义哪些字符,或者在哪里可以找到这样的列表?


如果您使用适当的类或库,他们将为您进行转义。许多 XML 问题都是由字符串连接引起的。

XML 转义字符

只有五个:

"   "
'   '
<   &lt;
>   &gt;
&   &amp;

转义字符取决于特殊字符的使用位置。

这些示例可以在以下位置进行验证:W3C 标记验证服务 https://validator.w3.org/#validate_by_input.

Text

安全的方法是转义文本中的所有五个字符。然而,这三个角色", ' and >不需要在文本中转义:

<?xml version="1.0"?>
<valid>"'></valid>

属性

安全的方法是转义属性中的所有五个字符。但是,那>字符不需要在属性中转义:

<?xml version="1.0"?>
<valid attribute=">"/>

The '如果引号是,则不需要在属性中转义字符":

<?xml version="1.0"?>
<valid attribute="'"/>

同样,"如果引号是,则不需要在属性中转义':

<?xml version="1.0"?>
<valid attribute='"'/>

Comments

所有五个特殊字符must not在评论中被转义:

<?xml version="1.0"?>
<valid>
<!-- "'<>& -->
</valid>

CDATA

所有五个特殊字符must not逃脱于CDATA https://en.wikipedia.org/wiki/CDATA部分:

<?xml version="1.0"?>
<valid>
<![CDATA["'<>&]]>
</valid>

加工说明

所有五个特殊字符must not在 XML 处理指令中进行转义:

<?xml version="1.0"?>
<?process <"'&> ?>
<valid/>

XML 与 HTML

HTML 有它自己的一组转义码 http://www.escapecodes.info/其中涵盖了更多的字符。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XML 文档中需要转义哪些字符? 的相关文章

随机推荐