Web 可扩展标记语言(XML)
字数 1044 2025-11-22 16:24:50
Web 可扩展标记语言(XML)
-
XML 的基本定义与目标
XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,由万维网联盟(W3C)于 1998 年发布。其核心设计目标是结构化数据描述、平台无关性和人类可读性。与 HTML 专注于数据展示不同,XML 专注于数据内容与结构的定义,允许用户自定义标签(如<book><title>...</title></book>)。 -
XML 的语法规则
- 文档声明:以
<?xml version="1.0" encoding="UTF-8"?>开头,声明版本和编码。 - 元素与标签:元素由开始标签、内容和结束标签组成(如
<name>Alice</name>),必须严格嵌套且区分大小写。 - 属性:用于在开始标签中附加信息(如
<book id="101">)。 - 空元素:可简写为
<img />。 - 实体引用:使用
<、&等转义特殊字符。
- 文档声明:以
-
XML 的语义约束与验证
- DTD(文档类型定义):定义元素、属性和实体的结构规则,例如声明元素允许的子元素数量。
- XML Schema(XSD):更强大的验证工具,支持数据类型(如整数、日期)和命名空间,通过
xs:element name="price" type="xs:decimal"定义数据格式。
-
XML 相关技术生态
- XPath:用于在 XML 文档中定位节点(如
/books/book[1]/title)。 - XSLT:通过模板规则将 XML 转换为其他格式(如 HTML、PDF)。
- 命名空间:避免标签冲突(如
xmlns:html="http://www.w3.org/1999/xhtml")。
- XPath:用于在 XML 文档中定位节点(如
-
XML 在现代互联网中的应用场景
- 数据交换:如 SOAP 协议中的消息封装、RSS 订阅源的结构化数据。
- 配置文件:Java 的 Maven(pom.xml)、Android 的布局文件(UI 结构定义)。
- 文档存储:Microsoft Office 的 DOCX 格式实质为 ZIP 压缩的 XML 文件集合。
-
XML 与 JSON 的对比与演进
- 优势:XML 支持注释、模式验证和复杂层级关系,适用于需要严格语义约束的场景。
- 劣势:JSON 因更轻量、解析简单而成为 API 数据交换的主流,但 XML 在企业级系统和遗留架构中仍广泛存在。