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

如何用Python提取XML指定元素并导出为TXT文件?

解决XML提取指定字段并保存为TXT的问题

我来帮你调整代码,让它精准提取你需要的字段(sitio_id、fecha_alta、imps24blank、estado、url、nombre),并保存成你想要格式的TXT文件。

调整后的完整代码

import xml.etree.ElementTree as ET

# 假设sitios2是你从API获取的XML字符串
root = ET.fromstring(sitios2)

# 准备存储提取内容的列表
output_lines = []

# 遍历每个sitio元素(支持XML中有多个sitio的情况)
for sitio in root.findall('sitio'):
    # 提取sitio_id(这里用sitio元素的属性,也可以用内部的sitio_id元素文本)
    sitio_id = sitio.attrib.get('sitio_id')
    output_lines.append(f'sitio_id="{sitio_id}"')
    
    # 提取fecha_alta
    fecha_alta = sitio.find('fecha_alta').text.strip() if sitio.find('fecha_alta') is not None else ''
    output_lines.append(f'fecha_alta {fecha_alta}')
    
    # 用XPath定位imps24blank的元素并提取值
    imps24blank_item = sitio.find(".//item[@id='imps24blank']")
    imps24blank = imps24blank_item.text.strip() if imps24blank_item is not None else ''
    output_lines.append(f'imps24blank {imps24blank}')
    
    # 提取estado
    estado = sitio.find('estado').text.strip() if sitio.find('estado') is not None else ''
    output_lines.append(f'estado {estado}')
    
    # 提取url
    url = sitio.find('url').text.strip() if sitio.find('url') is not None else ''
    output_lines.append(f'url {url}')
    
    # 提取nombre
    nombre = sitio.find('nombre').text.strip() if sitio.find('nombre') is not None else ''
    output_lines.append(f'nombre {nombre}')
    
    # 多个sitio之间加分隔线(可选)
    output_lines.append('---')

# 移除最后多余的分隔线(如果存在)
if output_lines and output_lines[-1] == '---':
    output_lines.pop()

# 将内容写入UTF-8编码的TXT文件
with open('sitios_info.txt', 'w', encoding='utf-8') as f:
    f.write('\n'.join(output_lines))

print("文件已成功保存为sitios_info.txt")

代码说明

  • 用findall('sitio')遍历所有站点元素,兼容XML包含多个<sitio>的场景
  • 通过XPath表达式.//item[@id='imps24blank']精准定位到目标统计项
  • 加入空值判断和strip()处理,避免因元素缺失或多余空格导致的异常
  • 最终生成的TXT文件使用UTF-8编码,确保特殊字符正常显示

生成的TXT内容示例

sitio_id="131997"
fecha_alta 2017-06-22 22:38:18
imps24blank 0
estado 1
url https://www.google.com.ar/
nombre google.com.ar

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:28:33