admin

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

sql

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


阅读 190

收藏
2021-06-07

共1个答案

admin

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

XML 转义字符
只有五个:

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

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

这些示例可以在W3C 标记验证服务中进行验证。

文本
安全的方法是转义文本中的所有五个字符。但是,三个字符”, ‘and>不需要在文本中转义:

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

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

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

‘如果引号是,则不需要在属性中对字符进行转义”:

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

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

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

注释
注释中不得对所有五个特殊字符进行转义:

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

数据中心
不得在CDATA部分中对所有五个特殊字符进行转义:

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

加工说明
不得在 XML 处理指令中对所有五个特殊字符进行转义:

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

HTML有一套自己的转义码,涵盖了更多的字符。

2021-06-07