XML 转义、注释、空格处理

一、XML 特殊字符转义(实体引用)

XML 里部分字符有特殊含义,直接写在文本内容中会让解析器报错。

例如 <,解析器会认为这是一个新标签的开始。

错误写法

<note>
    <to>李<工</to>
</note>

李<工 里面的 < 会造成解析错误。

正确写法:使用实体引用替换特殊字符

<note>
    <to>&lt;</to>
</note>
Code language: HTML, XML (xml)

XML 5 个预定义实体引用

表格

原始字符实体引用说明
<&lt;小于号,必须转义
>&gt;大于号,一般可不转义,建议规范转义
&&amp;& 符号,必须转义
"&quot;双引号,属性值内部出现双引号时转义
'&apos;单引号,属性值内部出现单引号时转义

重点:<&一定要转义,否则一定报错。

二、XML 注释

语法和 HTML 一样:

<!-- 注释内容 -->
Code language: HTML, XML (xml)

<note>
    <!--这一封通知消息-->
    <to>&lt;</to>
    <from>王经理</from>
</note>
Code language: HTML, XML (xml)

注释注意点

  1. 注释不能嵌套注释
  2. 不能把注释写在 XML 声明之前
  3. 注释不能出现在标签名字、属性里面

三、XML 空格处理

  • HTML:多个连续空格会被合并成一个空格展示
  • XML空格全部保留,不会自动删减合并

<div>你好                                  下节课 </div>
<!--浏览器输出:你好 下节课-->
Code language: HTML, XML (xml)

<?xml version="1.0"?>
<note>
    <!--这一封通知消息-->
    <to>&lt;</to>
    <中国>你好                                  下节课 </中国>
</note>
Code language: HTML, XML (xml)

<中国>元素里面一大串空格,解析读取的时候会原样保留下来。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注