XML特殊字符实体大全 & < > 等转义字符列表

2次阅读

xml中特殊字符必须转义:①5个内置实体(、&、”、’);②数字引用(€或€);③自定义实体需DTD声明;④易错字符用数字引用;⑤CDATA节可包裹大段未转义文本。

XML特殊字符实体大全 & < > 等转义字符列表

XML文档中使用特殊字符时,必须通过预定义的实体引用进行转义,否则会导致解析失败或数据异常。以下是XML标准支持的五种内置字符实体及其对应关系,以及常见扩展实体的规范表示方式:

一、XML标准内置实体

XML规范强制要求处理器识别且仅识别五个预定义实体,用于替代在XML语法中具有特殊含义的字符。这些实体不依赖于外部DTD声明,所有XML解析器均原生支持。

1、 混淆。

2、> 表示大于号,用于避免与标签结束符号 > 混淆。

3、& 表示和号(&),用于避免被误认为实体引用的起始符 &

4、” 表示双引号,用于属性值中嵌入双引号时保持结构合法,如 title=”He said “Hello””

5、’ 表示单引号,用于属性值中嵌入单引号时保持结构合法,如 name=’O’Reilly’

二、数字字符引用方式

当需要表示非标准实体所涵盖的任意Unicode字符时,可采用十进制或十六进制数字字符引用。该方式不依赖实体声明,直接由解析器按Unicode码点解析。

1、十进制格式为 ,例如欧元符号 € 对应

2、十六进制格式为 ,同一欧元符号也可写作

3、数字引用必须以分号 ; 结尾,缺失分号将导致解析错误。

三、自定义实体声明方法

若需在文档中重复使用特定字符序列(如版权符号 © 或商标符号 ™),可通过内部DTD声明自定义实体。该声明必须位于根元素之前,且仅对当前文档有效。

1、在文档开头的 XML 声明之后、根元素之前插入 DOCTYPE 声明,格式为 ]>

2、在文档内容中使用 © 即可展开为 © 符号。

3、实体名称只能包含字母、数字、连字符、下划线和句点,且不能以数字开头。

四、常见易错字符处理

某些字符虽无内置实体,但在实际应用中高频出现且易引发解析问题,需严格采用数字引用或CDATA节包裹。

1、不间断空格(U+00A0)必须写作   ,不可直接输入空格。

2、软连字符(U+00AD)必须写作 ­,直接输入可能被忽略或导致截断异常。

3、零宽空格(U+200B)必须写作 ,否则在文本流中不可见且无法被正确索引。

五、CDATA节替代方案

当大段文本含多个需转义字符(如JavaScript代码或HTML片段),使用CDATA节可免除逐个转义,其内容被解析器视为纯字符数据而非标记。

1、CDATA节以 开始,以 ]]> 结束,中间所有字符均不作解析。

2、CDATA节内不可出现字符串 “]]>”,否则会提前终止节区,导致后续内容解析错误。

3、CDATA节不能嵌套,且仅适用于元素内容,不可用于属性值中。

text=ZqhQzanResources