如果您使用适当的类或库,他们将为您进行转义。许多 XML 问题都是由字符串连接引起的。
XML 转义字符
只有五个:
" "
' '
< <
> >
& &
转义字符取决于特殊字符的使用位置。
这些示例可以在以下位置进行验证: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/其中涵盖了更多的字符。