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

使用Python3 ElementTree解析XML,提取视图点属性并生成指定表格

没问题,我来帮你搞定这个需求!下面是用Python3的ElementTree解析XML、提取viewpoint标签及属性,并且按要求整理成表格的完整方案:

Python3 ElementTree解析XML并整理数据

1. 解析XML的代码实现

首先,我们先模拟一个符合场景的XML片段(你可以替换成自己的XML文件路径),然后用ElementTree完成提取:

<!-- 示例XML片段 -->
<root>
    <viewpoint name="good filter design" description="Effective filtering approach"/>
    <viewpoint name="poor filter design" description="Ineffective filtering approach"/>
    <viewpoint name="signal analysis" description="Signal characteristics study"/>
    <viewpoint name="noise reduction" description="Noise mitigation techniques"/>
    <viewpoint name="system optimization" description="Overall system tuning"/>
</root>

对应的Python代码:

import xml.etree.ElementTree as ET

# 方式1:解析本地XML文件(推荐实际使用)
# tree = ET.parse('your_viewpoints.xml')
# root = tree.getroot()

# 方式2:直接解析XML字符串(适合快速测试)
xml_content = '''
<root>
    <viewpoint name="good filter design" description="Effective filtering approach"/>
    <viewpoint name="poor filter design" description="Ineffective filtering approach"/>
    <viewpoint name="signal analysis" description="Signal characteristics study"/>
    <viewpoint name="noise reduction" description="Noise mitigation techniques"/>
    <viewpoint name="system optimization" description="Overall system tuning"/>
</root>
'''
root = ET.fromstring(xml_content)

# 提取所有viewpoint标签的属性
viewpoint_list = []
for vp in root.findall('viewpoint'):
    # 提取name属性和其他需要的属性,这里以description为例
    vp_info = {
        "name": vp.get("name"),
        "description": vp.get("description")
    }
    viewpoint_list.append(vp_info)

# 按要求分组:第一组是两个filter design,第二组是剩下三个
group_filter = [vp for vp in viewpoint_list if "filter design" in vp["name"]]
group_others = [vp for vp in viewpoint_list if "filter design" not in vp["name"]]

2. 按要求整理成表格

根据你的需求,我们把两个filter design放在同一行,其余三个放在第二行,整理成如下表格:

视图点名称属性描述视图点名称属性描述视图点名称属性描述
good filter designEffective filtering approachpoor filter designIneffective filtering approach--
signal analysisSignal characteristics studynoise reductionNoise mitigation techniquessystem optimizationOverall system tuning

代码小说明

  • 使用ET.parse()解析本地XML文件,或者ET.fromstring()解析XML字符串,两种方式按需选择
  • findall('viewpoint')可以精准定位所有目标标签
  • get(属性名)方法能快速提取标签的指定属性值
  • 通过简单的列表推导式完成数据分组,方便后续按要求整理表格

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:04:02