You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python XML ElementTree获取同类型XML元素的对应父元素

自动化获取XML元素的父元素

如果你用Python的xml.etree.ElementTree处理XML,完全可以自动化遍历所有元素并获取它们的父元素,不用手动指定id。

先看示例XML结构:

<root>
  <Z>
    <C id="1"/>
  </Z>
  <D>
    <C id="2"/>
  </D>
</root>

实现代码

import xml.etree.ElementTree as ET

# 解析XML文件(如果是字符串内容,改用ET.fromstring())
tree = ET.parse('your_xml_file.xml')
root = tree.getroot()

# 遍历所有<C>元素
for c_element in root.iter('C'):
    # 获取父元素:Python 3.7及更早版本用getparent(),3.8+直接用parent属性
    parent_element = c_element.getparent()
    # 输出结果
    print(f"id为{c_element.get('id')}的<C>元素,父元素标签是{parent_element.tag}")

关键说明

  • root.iter('C')会递归遍历整个XML树,自动找到所有元素,无需逐个指定id
  • 每个元素的getparent()(或Python 3.8+的parent属性)直接返回其父节点对象,通过tag属性就能拿到父元素的标签名
  • 若使用lxml库(功能更丰富的XML处理工具),写法逻辑一致,getparent()方法全程可用,还支持更复杂的XPath查询

内容的提问来源于stack exchange,提问作者JME

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 00:02:45