第一章:XML 基础(上)
概述
- XML 历史
- XML 的基本用途
- XML 语法
- XML 的优缺点
什么是 XML?
XML 是一种用于定义其他标记语言的元语言(meta-language)。
- 设计目的:
- 存储和传输数据
- 数据可读性(对人类和机器)
- XML 文件可以是文件、字符串、消息内容等数据存储形式。
XML 是数据库吗?
- 适合存储小量数据,无需复杂查询
- 不支持并发机制,适合低频率数据更改
- 与数据库的区别:
- 没有事务性(无 ACID 属性)
- 更适合作为数据交换格式,而非存储格式
XML 与 HTML 的对比
特性 | HTML | XML |
---|---|---|
起源 | SGML 应用 | SGML 的简化形式 |
主要用途 | 显示数据 | 携带数据 |
标签 | 固定的预定义标签 | 用户可自定义标签 |
例子 | - | XHTML |
- XHTML 是基于 XML 的 HTML 实现:了解更多
XML 的演化历史
- 1985年:SGML 被引入以定义结构化文档
- 1990年:HTML 被引入,成为互联网的基础
- 1991年:商业领域采用 WWW 技术,对通用数据格式的需求增加
XML 的设计需求
- 简单易懂的规则(如 HTML)
- 定义信息结构的能力(如 SGML)
- 支持多样化自然语言(优于 SGML)
XML 的用法
- 数据与展示分离:
- XML 存储和传输数据
- HTML 格式化和显示数据
- 示例:
- 利用 JavaScript 更新 HTML 中的 XML 数据
XML 文档结构
XML 文档包含的部分
- Prolog(前言)
- Document Body(文档主体)
- Epilog(尾注,可选)
XML 声明
- 必须是文档的第一行
- 语法示例:
xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
version
:XML 版本号(默认为 1.0)encoding
:字符集(常见 UTF-8 和 UTF-16)standalone
:是否引用外部文件
XML 元素
- 基本构成:开始标签 + 内容 + 结束标签
- 示例:
xml
<book> <title>XML Basics</title> </book>
- 空元素可以使用自闭合标签:
xml
<line-break />
命名规则
- 区分大小写
- 必须以字母或下划线开头
- 不得包含空格或特殊字符(如
<
、>
)
XML 属性
- 属性是描述特定元素的键值对
- 示例:
xml
<book id="001" language="en"> <title>XML Basics</title> </book>
- 使用场景:
- 属性适合表示单一数据
- 元素适合表示复杂或可重复的数据
XML 的优缺点
优点 | 缺点 |
---|---|
人类和机器可读 | 数据存储效率低 |
支持 Unicode,多字符集 | 需要更多存储或带宽 |
可表示为树状结构 | 缺少展示指令 |
跨平台 | 文件可能不适合树状表示 |
使用 XML 的场景
- 数据传输:股票、医疗数据、新闻信息等
- 应用示例:
- Web 发布:通过 XSL 渲染数据
- 电子商务:简化电子数据交换
实验与练习
- 任务:识别文档中的元素和属性
- 检查 XML 的合法性:
- 打开 W3C 验证器
- 上传 XML 文档
- 检查结果