XML
XML(可扩展标记语言)
XML(Extensible Markup Language,可扩展标记语言)是一种用于存储和传输数据的标记语言。
与 HTML 不同,XML 的标签不是预定义的,而是由用户自定义的,这使得 XML 非常适合于各种应用,如数据存储、配置文件、网络传输等。
一、XML 简介
什么是 XML?
XML 是一种标记语言,用于描述数据。它允许用户定义自己的标签来存储信息。
XML 的特点:
- 自描述性:标签描述了数据的含义。
- 平台无关性:XML 文件可以在任何操作系统和平台上使用。
- 数据驱动:XML 关注数据本身,而不是显示格式。
- 易于扩展:用户可以定义自己的标签。
二、XML 文档结构
一个基本的 XML 文档示例如下:
1 | |
自闭合标签(空元素):
1 | |
标签名称区分大小写:
<Note>和<note>是不同的标签。属性值必须用引号括起来:
1
<person name="John Doe" age="30"/>元素必须正确嵌套:
1
2
3<outer>
<inner>Content</inner>
</outer>特殊字符需要使用实体引用:
1
2
3
4
5< 表示小于号 (<)
> 表示大于号 (>)
& 表示和号 (&)
' 表示单引号 (')
" 表示双引号 (")
四、XML 元素和属性
元素(Element)
元素是 XML 文档的基本构建块,由开始标签、内容、结束标签组成。
1 | |
属性(Attribute)
属性提供元素的额外信息,放在开始标签内。
1 | |
五、注释与 CDATA 区
注释
XML 中的注释以 <!-- 开始,以 --> 结束。
1 | |
CDATA 区
CDATA 区用于在 XML 文件中包含不被解析器解析的文本数据。
1 | |
六、XML Schema(XSD)
XML Schema 用于定义 XML 文档的结构和数据类型。
示例 XSD 文件:
1 | |
关联 XML 与 XSD:
1 | |
七、XML 解析方式
XML 解析器用于读取和分析 XML 文档。常见的解析方式包括:
- DOM(Document Object Model):将整个文档加载到内存中,形成一个树形结构,方便操作但占内存大。
- SAX(Simple API for XML):逐行读取文档,事件驱动,适合处理大型文档。
- StAX(Streaming API for XML):基于 Java 的流式 API,适合高效地处理大型 XML 文档。
总结:
XML 是一种高度灵活的数据表示语言,适用于跨平台的数据交换和存储。
它不关注展示,而是注重结构与意义,常用于配置文件、网络通信、Web 服务(如 SOAP)和数据存储。