一、XML 特殊字符转义(实体引用)
XML 里部分字符有特殊含义,直接写在文本内容中会让解析器报错。
例如 <,解析器会认为这是一个新标签的开始。
错误写法
<note>
<to>李<工</to>
</note>
李<工 里面的 < 会造成解析错误。
正确写法:使用实体引用替换特殊字符
<note>
<to>李<工</to>
</note>
Code language: HTML, XML (xml)
XML 5 个预定义实体引用
表格
| 原始字符 | 实体引用 | 说明 |
|---|---|---|
< | < | 小于号,必须转义 |
> | > | 大于号,一般可不转义,建议规范转义 |
& | & | & 符号,必须转义 |
" | " | 双引号,属性值内部出现双引号时转义 |
' | ' | 单引号,属性值内部出现单引号时转义 |
重点:
<和&一定要转义,否则一定报错。
二、XML 注释
语法和 HTML 一样:
<!-- 注释内容 -->
Code language: HTML, XML (xml)
<note>
<!--这一封通知消息-->
<to>李<工</to>
<from>王经理</from>
</note>
Code language: HTML, XML (xml)
注释注意点
- 注释不能嵌套注释
- 不能把注释写在 XML 声明之前
- 注释不能出现在标签名字、属性里面
三、XML 空格处理
- HTML:多个连续空格会被合并成一个空格展示
- XML:空格全部保留,不会自动删减合并
<div>你好 下节课 </div>
<!--浏览器输出:你好 下节课-->
Code language: HTML, XML (xml)
<?xml version="1.0"?>
<note>
<!--这一封通知消息-->
<to>李<工</to>
<中国>你好 下节课 </中国>
</note>
Code language: HTML, XML (xml)
<中国>元素里面一大串空格,解析读取的时候会原样保留下来。