接上文Python开发从零开始-44.4-解析 XML,本文小编与大家分享 Python 解析 XML 的相关知识。
10、XML 模式定义
(1)什么是 XML 模式定义
XML 模式定义(XML Schema Definition,简称 XSD)是由 W3C 制定的国际标准,用于以 XML 语法描述和验证 XML 文档的结构、内容及数据类型。它是早期 DTD 的增强替代品,具备更强的数据约束能力和命名空间支持 。
(2)核心功能
结构验证:定义允许的元素、属性及其层级关系、出现顺序和次数;
数据类型约束:支持内置类型(如 xs:string、xs:integer、xs:date)及自定义类型,可限制值范围、长度、正则匹配等 ;
自文档化:XSD 本身是 XML 文件(扩展名为 .xsd),可读性强,支持通过 XSLT 转换生成文档或代码 。
(3)关键组成要素
根元素:<xs:schema>,需使用xmlns:xs 属性声明命名空间 xmlns:xs="http://www.w3.org/2001/XMLSchema" ;
元素声明:使用 <xs:element>,通过 name 指定名称,type 指定数据类型 ;
类型定义:
简单类型 (simpleType):仅包含文本,无子元素或属性,常用于基础数据约束 ;
复杂类型 (complexType):可包含子元素、属性或混合内容,通过 sequence(有序)、choice(互斥)、all(无序)定义内容模型 。
约束面 (Facets):如 minLength / maxLength、pattern(正则)、enumeration(枚举值),用于细化数据规则 。
(4)XSD 实例
下例是一个简单的 XSD 文件(扩展名为 .xsd)
<xs:schemaxmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:elementname="note"><xs:complexType><xs:sequence><xs:elementname="to"type="xs:string"/><xs:elementname="from"type="xs:string"/><xs:elementname="heading"type="xs:string"/><xs:elementname="body"type="xs:string"/></xs:sequence></xs:complexType></xs:element></xs:schema>
有关 XSD 语法大家可以查看官方文档或网络教程。
11、XML 注释
XML 注释主要用于解释代码功能、记录修改历史和临时禁用代码。注释以 <!-- 开始并以 --> 结束,例如:
<!-- 这是一段注释文本 -->注释使用注意事项:
基本格式是 <!-- 注释内容 -->,中间可以放任何合法的 XML 字符;
注释可以出现在文档序言中,包括文档类型定义 (DTD);
XML声明之前不能有注释,注释要放在声明后面;
注释不能出现在属性值中,也不能写在标记内;
注释可以放在根元素之前或之后,也可以穿插在文本内容中间;
注释不能嵌套,例如 <!-- 外层 <!-- 内层 --> --> 会报错;
注释里不能出现双连字符 --,注释标记 --> 之前的 -- 会提前结束注释。
12、XML 元素是可扩展的
XML 元素是可扩展,可以动态添加以携带更多的信息。假设下例 XML 文档中有 <student>、<name>、<age> 三个元素。
<?xml version="1.0" encoding="UTF-8"?><student><name>Jack</name><age>20</age></student>
如果后期对该文档进行了修改,添加了 <id> 元素
<?xml version="1.0" encoding="UTF-8"?><student><id>1001</id><name>Jack</name><age>20</age></student>
这时读取该 XML 文档的程序依然能够正常读取 <student>、<name>、<age> 元素。XML 的优势之一,就是可以在不中断应用程序的情况下进行扩展。
13、查看 XML 文件
所有主流的浏览器中,均能够查看原始的 XML 文件。例如使用 Edge 浏览器查看 XML 文件效果如下图所示:

14、XPath 和 XML DOM
XPath 是用来在 XML 或 HTML 文档里精准定位元素的查询语言,它是 W3C 国际标准,广泛应用于数据提取、网页爬虫和自动化测试等领域。
XML DOM(Document Object Model,文档对象模型)是用于访问和操作XML文档的标准编程接口。它将 XML 文档表示为树形结构,其中每个元素和属性都是一个节点。通过 XML DOM,开发者可以动态地获取、修改、添加或删除XML文档中的内容。
有关 XPath 和 XML DOM 相关内容,后续文章还会进行介绍,大家可以先建立初步印象。
15、XSLT
XSLT(eXtensible Stylesheet Language Transformations,可扩展样式表语言转换)是一种用于将 XML 文档转换为其他格式(如 HTML、XHTML 或其他 XML 格式)的语言。它主要通过定义模板规则来实现对XML数据的转换和格式化。
虽然同样可以使用 CSS (Cascading Style Sheets,层叠样式表)来转换XML 文档,但并不常用,XSLT 是首选。
有关 XSLT 或 CSS 相关内容,大家可以查看官方文档或网络教程。