使用Python的minidom解析XML,提取'recursive_a'属性值
使用Python minidom解析XML获取"recursive_a"字符串
实现步骤
要从给定的XML中提取recursive_a字符串,核心是定位到<exec>标签并读取它的name属性值,具体步骤如下:
- 导入Python标准库中的
xml.dom.minidom模块 - 解析XML内容(支持从字符串或本地文件读取)
- 定位到目标
<exec>元素 - 提取该元素的
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
相关产品推荐
相关产品推荐

