在XML文档中需要转义什么字符?

前端之家收集整理的这篇文章主要介绍了在XML文档中需要转义什么字符?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
什么字符必须在XML文档中转义,或者在哪里可以找到这样的列表?
如果你使用合适的类或库,他们会为你转义。许多XML问题由字符串连接引起。

XML转义字符

只有五个:

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

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

示例可以在W3C Markup Validation Service验证。

文本

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

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

属性

安全的方式是在属性中转义所有五个字符,然而,>字符不需要在属性中转义:

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

如果引号是“:”,则不必在属性中转义该字符:

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

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

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

注释

所有5个特殊字符不得在注释中转义:

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

CDATA

所有5个特殊字符不得在CDATA节中转义:

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

处理指令

所有5个特殊字符不能在XML处理指令中转义:

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

XML与HTML

HTML有its own set of escape codes,覆盖了更多的字符。

猜你在找的XML相关文章