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

使用Python的minidom解析XML,提取'recursive_a'属性值

使用Python minidom解析XML获取"recursive_a"字符串

实现步骤

要从给定的XML中提取recursive_a字符串,核心是定位到<exec>标签并读取它的name属性值,具体步骤如下:

  1. 导入Python标准库中的xml.dom.minidom模块
  2. 解析XML内容(支持从字符串或本地文件读取)
  3. 定位到目标<exec>元素
  4. 提取该元素的name属性值

代码示例

情况1:XML内容以字符串形式存在

from xml.dom import minidom

# 定义XML字符串
xml_content = '''<?xml version='1.0' encoding='utf-8'?>
<execute time="0.59">
<exec name="recursive_a" loops="3" fail="2" skipped="0">
<testcase tname="test_a" name="test.cpp" time="0.50">
<pass>
001,test,pass
</pass>
</testcase>
</exec>
</execute>
'''

# 解析XML
dom = minidom.parseString(xml_content)
# 获取所有exec标签,这里只有一个,取第一个元素
exec_element = dom.getElementsByTagName('exec')[0]
# 提取name属性值
target_str = exec_element.getAttribute('name')

print(target_str)  # 输出: recursive_a

情况2:XML内容存储在本地文件中

假设XML文件名为test_result.xml,代码如下:

from xml.dom import minidom

# 解析本地XML文件
dom = minidom.parse('test_result.xml')
exec_element = dom.getElementsByTagName('exec')[0]
target_str = exec_element.getAttribute('name')

print(target_str)  # 输出: recursive_a

代码说明

  • minidom.parseString():用于解析XML格式的字符串;如果是本地文件则使用minidom.parse()
  • getElementsByTagName('exec'):返回文档中所有标签名为exec的元素列表,这里XML中只有一个<exec>标签,所以取索引0的元素
  • getAttribute('name'):获取指定元素的name属性值,也就是我们需要的recursive_a

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 03:21:05