Python提供了多种方法来解析XML文件,其中常用的方法有两种:DOM和SAX。
使用DOM方法解析XML:DOM方法将整个XML文档加载到内存中,并构建一个树状结构,可以通过节点对象的属性、方法来访问和修改XML文件的内容。
示例代码:
import xml.dom.minidom# 打开XML文件dom = xml.dom.minidom.parse('example.xml')# 获取根节点root = dom.documentElement# 获取子节点elements = root.getElementsByTagName('element')# 遍历子节点for element in elements: # 获取节点属性 attr = element.getAttribute('attr') print(attr) # 获取节点文本内容 text = element.firstChild.data print(text)使用SAX方法解析XML:SAX方法是一种事件驱动的解析方式,通过定义事件处理器,逐行解析XML文件,当解析器遇到开始标签、结束标签、字符数据等事件时,触发相应的事件处理方法。
示例代码:
import xml.sax# 定义事件处理器class MyHandler(xml.sax.ContentHandler): def startElement(self, name, attrs): # 开始标签事件处理方法 print("Start element:", name) def endElement(self, name): # 结束标签事件处理方法 print("End element:", name) def characters(self, content): # 字符数据事件处理方法 print("Content:", content) # 创建解析器parser = xml.sax.make_parser()# 设置事件处理器handler = MyHandler()parser.setContentHandler(handler)# 解析XML文件parser.parse('example.xml')以上是两种常用的解析XML的方法,选择适合自己需求的方法进行使用。

