XML 指南

下面为你整理一份清晰、系统、易懂的 《XML 指南(XML Guide)》,适合从零开始学习或作为参考手册使用。


📘 XML 指南(XML Guide)

1. XML 是什么?

XML(eXtensible Markup Language,可扩展标记语言) 用于存储和传输数据。
它不是编程语言,也不是用来展示页面的语言(不像 HTML),而是用来描述结构化数据。

✔ 数据传输(如旧式 API)
✔ 配置文件(如 Android、Maven、Spring)
✔ 文档存储(如 Office 文档底层格式)


2. XML 基本语法

一个最简单的 XML 文档示例:

<?xml version="1.0" encoding="UTF-8"?>
<users>
  <user>
    <name>Tom</name>
    <age>20</age>
  </user>
</users>

3. XML 核心规则(必须掌握)

✔ 3.1 必须有根元素

<root> ... </root>

✔ 3.2 标签必须成对出现

<name>Tom</name>

✔ 3.3 标签不能交叉嵌套(非常重要)

❌ 错误:

<a><b></a></b>

✔ 正确:

<a><b></b></a>

✔ 3.4 大小写敏感

<Age> 和 <age>

是两个不同标签。

✔ 3.5 属性必须使用引号

<book id="1" />

✔ 3.6 文本中的某些符号必须转义

符号转义
<&lt;
>&gt;
&&amp;
'&apos;
"&quot;

4. XML 元素与属性

4.1 元素(推荐用于描述数据结构)

<book>
  <title>JavaScript</title>
  <price>49.0</price>
</book>

4.2 属性(用于补充信息)

<book id="101" category="web">
  <title>JavaScript</title>
</book>

元素 vs 属性 的使用原则:

情况选择
数据内容元素
元数据(ID、类型、标志)属性

5. 注释

<!-- 这是注释 -->

6. CDATA(存放特殊字符、HTML、脚本)

不想让 XML 解析器解析文本时使用:

<script>
<![CDATA[
  if (a < b) { alert("test"); }
]]>
</script>

7. XML 模式与校验(重点)

XML 文件可以通过 DTD 或 XML Schema (XSD) 来验证结构是否正确。


7.1 DTD(旧的验证方式)

<!DOCTYPE note [
  <!ELEMENT note (to,from)>
  <!ELEMENT to (#PCDATA)>
]>

7.2 XSD(现代企业级验证方式)

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="name" type="xs:string"/>
</xs:schema>

XSD 的优势

✔ 类型系统更强(string, int, date)
✔ 可扩展
✔ 更严格


8. XML 解析方式

8.1 DOM 解析(一次性解析成树)

  • 完整构建树结构
  • 操作方便
  • 消耗内存更多

适用于:中小型 XML 文件。


8.2 SAX 解析(流式解析)

  • 按行扫描事件
  • 节省大量内存
  • 不能随时回头查看数据

适用于:大型 XML 文件(如日志、配置)。


9. 常见 XML 应用场景

✔ 9.1 配置文件

Spring、Maven、Tomcat 都大量使用 XML:

<beans>
  <bean id="userService" class="com.demo.UserService"/>
</beans>

✔ 9.2 数据交换

早期 SOAP Web Service 数据格式:

<message>
  <header>
  </header>
</message>

✔ 9.3 Office 文档

.docx.xlsx 内部都是 XML 文件。

✔ 9.4 Android 布局/Manifest

<TextView
  android:text="Hello"
  android:layout_width="match_parent"/>

10. XML 与 JSON 比较

项目XMLJSON
结构复杂、冗长更简洁
数据模型文档型数据型
类型支持XSD 提供强类型自带基础类型
注释支持不支持标准注释
常用领域配置、文档Web API、前端数据

现代 Web API 基本已由 XML → JSON。


11. XML 最佳实践

✔ 合理使用元素和属性
✔ 必须保证结构正确(成对标签、无交叉)
✔ 使用 XSD 校验格式稳定性
✔ 注释说明结构(避免迷路)
✔ 避免嵌套过深
✔ 不要把 XML 当编程语言使用


12. 学习路线(简短版)

  1. 基本语法
  2. 标签、属性、注释
  3. DTD
  4. XSD(必学)
  5. DOM / SAX 解析
  6. 真实项目应用:
    • Android XML
    • Spring XML
    • 配置文件

如果你需要,我可以进一步为你提供:

📄 XML 速查表(Cheat Sheet)
📝 XML + XSD 示例项目
📦 将本指南导出为 PDF / Markdown / DOCX
💡 XML → JSON 转换工具示例 JavaScript 代码
🏗 手把手写一个 XML Schema(XSD)

你想继续深入哪一部分?

文章已创建 2965

发表回复

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

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部