一、XML简介 XML是指可扩展标记语言(Extensible Markup Language)。 XML是W3C的推荐标准。 XML被设计为具有自我描述性。 XML被设计用来传输和存储数据。 XML标签没有被预定义,需要使用者自行定义标签。 XML是各种应用程序之间进行数据传输的最常用的工具。
二、XML解析 本文介绍python解析XML文件的三种方式,分别是SAX、DOM、ElementTree。
方式一:DOM Document Object Model,文件对象模型,是W3C组织推荐的处理可扩展置标语言的标准编程接口,定义了访问HTML和XML文档的标准,提供中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。 DOM被分为3个不同的级别:核心DOM用于任何结构化文档的标准模型;XML DOM用于XML文档的标准模型;HTML DOM用于HTML文档的标准模型。XML DOM把XML文档视为一种树结构,又称节点树,通过这棵树可以访问所有节点,可以修改或删除它们的内容,也可以创建新的元素。 整个文档是一个文档节点,每个XML元素是一个元素节点,包含在XML元素中的文本是文本节点,每一个XML属性是一个属性节点,注释是注释节点。 【1】待解析文件:new 1.xml
<?xml version="1.0" encoding="utf-8"?><title> <metadata id="001"> <id>2020001id> <name>Silenusname> <age>25age> metadata> <metadata id="002"> <id>2020002id> <name>Stephanname> <age>26age> metadata>title>
在上面的new 1.xml中,根节点是 。文档中的所有其他节点都被包含在 中。根节点 有2个 节点。第一个 节点有3个元素节点:、和 ,其中每个节点都包含一个文本节点,"2020001"、"Silenus"、"25" 和 "2020002"、"Stephan"、"26" 。 【2】执行解析文件:new 1.py
#!/usr/bin/python3from xml.dom.minidom import parseimport xml.dom.minidomdef main(): # 加载xml文件 domtree =xml.dom.minidom.parse(r'D:\xml_flie\new 1.xml') # 获取文档元素对象,即根节点 data = domtree.documentElement # 获取节点列表,每一个节点列表都可用该接口获得 metadatas = data.getElementsByTagName('metadata'