Python读取XML主要用xml.etree.ElementTree:ET.parse()解析文件获ElementTree对象再.getroot()得根元素;ET.fromstring()直接解析字符串得根元素;常用root.find()、findall()、.text、.get()等操作提取数据。
Python 读取 XML 主要靠内置的 xml.etree.ElementTree(简称 ET),它轻量、易用、无需额外安装,适合大多数日常解析需求。
这是最常用的方式,适合读取本地 .xml 文件:
ET.parse("文件路径") 加载并解析整个文档,返回一个 ElementTree 对象.getroot() 获取根元素(Element 类型),后续所有查找、遍历都从它开始tree = ET.parse("data.xml"); root = tree.getroot()
如果 XML 内容来自网络响应、数据库或变量字符串,用 ET.fromstring():
xml_str = "Alice "; root = ET.fromstring(xml_str)
拿到 root 后,可快速提取数据:
root.tag:获取根标签名(如 "
note")root.text:获取直接子文本(注意:常为空,需查子元素)root.find("to"):查找第一个匹配的直接子元素(返回 Element 或 None)root.findall("to"):查找所有同名直接子元素(返回列表)for child in root::遍历所有直接子元素elem.get("attr_name"):获取元素属性值(如 → elem.get("id") 返回 "101")假设文件内容为:
import xml.etree.ElementTree as ETroot = ET.parse("note.xml").getroot()print(root.find("to").text) # 输出 Bobprint(root.find("from").text) # 输出 Alice