ElementTree是Python内置的高效XML处理模块,支持解析文件和字符串、遍历查找修改及构建XML。1. 用ET.parse()读取XML文件并获取根节点;2. ET.fromstring()解析XML字符串;3. 可遍历Element子节点获取标签和属性;4. 使用find/findall/iter按标签或路径查找元素;5. 通过.text和.get()提取文本与属性;6. 处理命名空间时需定义前缀映射。掌握这些核心方法即可应对多数XML操作需求。
Python 中 ElementTree 是处理 XML 数据的内置模块,使用简单且高效。它能解析 XML 文件或字符串,支持遍历、查找、修改和构建 XML 结构。
使用 ET.parse() 方法读取 XML 文件,返回一个 ElementTree 对象,通过 .getroot() 获取根节点。
root 是一个 Element 对象,代表 XML 的根元素。
若数据是字符串形式,使用 ET.fromstring() 直接解析为 Element 对象。
该方法适用于从网络请求等场景获取的 XML 字符串。
Element 对象可像列表一样遍历其直接子节点。
child.tag 返回标签名,child.attrib 返回属性字典。
常用方法根据标签名或路径查找节点:
支持路径查询,如 root.find('path/to/item'),注意默认无命名空间。
提取元素内容和属性信息:
避免直接访问 .attrib[key],以防 KeyError,推荐用 get() 提供默认值。
带命名空间的 XML 需在查找时显式指定:
将命名空间 URI 映射为前缀,用于路径匹配。
基本上就这些。掌握 parse、from
string、find 系列方法和文本/属性提取,就能高效处理大多数 XML 场景。