答案:使用xml.etree.ElementTree模块可高效遍历XML树。首先通过ET.parse()加载XML并获取根节点,然后利用递归函数、iter()方法或逐层循环遍历所有节点;其中iter()支持过滤特定标签,findall()和find()可用于提取指定元素的属性与文本内容,适用于不同结构场景。

Python遍历XML树的所有节点
在Python中处理XML数据时,经常需要遍历整个XML树,访问每一个节点和子节点。最常用的方法是使用内置的 xml.etree.ElementTree 模块。它轻量、易用,并能高效地解析和操作XML结构。
假设我们有如下XML文件(命名为 example.xml):
<?xml version="1.0"?>
<root>
    <person id="1">
        <name>Alice</name>
        <age>25</age>
        <city>Beijing</city>
    </person>
    <person id="2">
        <name>Bob</name>
        <age>30</age>
        <city>Shanghai</city>
    </person>
    <info>
        <total>2 people</total>
    </info>
</root>
先加载XML文件并获取根节点:
立即学习“Python免费学习笔记(深入)”;
import xml.etree.ElementTree as ETtree = ET.parse('example.xml') root = tree.getroot()
此时 root 就是XML树的根节点,我们可以从它开始遍历所有子节点。
方法一:递归遍历所有节点
通过递归函数访问每个节点及其子节点:
traverse_tree(root)
输出会显示每个节点的标签名、文本内容(去除空格)和属性字典。
方法二:使用iter()方法遍历指定标签或所有节点iter() 方法可以遍历所有后代节点,支持过滤标签名。
for name_elem in root.iter('name'): print(f'Name: {name_elem.text}')
这种方法更简洁,适合快速提取某一类信息。
方法三:逐层遍历(适用于结构清晰的XML)
如果知道层级结构,可以直接用循环访问子节点:
这种方式适合处理格式固定的XML,比如配置文件或标准数据交换格式。
在遍历时,常需提取以下信息:
node.tag
node.text(注意可能为None)node.attrib(返回字典)len(node)
例如打印每个 person 的ID和姓名:
基本上就这些。掌握这几种方式后,就能灵活应对各种XML遍历需求。
以上就是Python怎么遍历一个XML树的所有节点_Python遍历XML树节点与子节点教程的详细内容,更多请关注php中文网其它相关文章!
 
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
 
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号