python怎么读取xml

15次阅读

python读取xml主要用xml.etree.ElementTree:ET.parse()解析文件获ElementTree对象再.getroot()得根元素;ET.fromstring()直接解析字符串得根元素;常用root.find()、findall()、.text、.get()等操作提取数据。

python怎么读取xml

Python 读取 XML 主要靠内置的 xml.etree.ElementTree(简称 ET),它轻量、易用、无需额外安装,适合大多数日常解析需求。

用 ElementTree 解析 XML 文件

这是最常用的方式,适合读取本地 .xml 文件:

  • ET.parse("文件路径") 加载并解析整个文档,返回一个 ElementTree 对象
  • 调用 .getroot() 获取根元素(Element 类型),后续所有查找、遍历都从它开始
  • 例如:tree = ET.parse("data.xml"); root = tree.getroot()

解析 XML 字符串(非文件)

如果 XML 内容来自网络响应、数据库或变量字符串,用 ET.fromstring()

  • 直接传入字符串,返回根元素对象,跳过创建 tree 的步骤
  • 例如:xml_str = "Alice"; root = ET.fromstring(xml_str)

常用操作:找元素、取文本、遍历子节点

拿到 root 后,可快速提取数据:

立即学习Python免费学习笔记(深入)”;

  • 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"

简单示例:读取并打印 note.xml 中的 to 和 from

假设文件内容为:BobAlice

  • import xml.etree.ElementTree as ET
  • root = ET.parse("note.xml").getroot()
  • print(root.find("to").text) # 输出 Bob
  • print(root.find("from").text) # 输出 Alice
text=ZqhQzanResources