xml怎么转换成txt xml文件批量转文本格式

使用Python脚本可批量将XML转换为TXT,通过遍历文件夹提取文本内容并去除标签,结合ElementTree解析,适合处理中文及复杂结构。

将XML文件转换为TXT文本格式,可以通过提取XML中的文本内容,去掉标签,保存为纯文本。批量处理时,推荐使用脚本自动化操作。以下是几种实用方法:

1. 使用Python脚本批量转换

Python处理XML非常方便,可以读取多个XML文件,提取内容并保存为TXT。

示例代码:

功能说明:
遍历指定文件夹中的所有.xml文件,提取其中的文本内容(去除标签),保存为同名.txt文件。

代码示例:

import os
import xml.etree.ElementTree as ET

def xml_to_txt(xml_file, txt_file): try: tree = ET.parse(xml_file) root = tree.getroot()

    # 提取所有文本内容
    texts = []
    for elem in root.iter():
        if elem.text and elem.text.strip():
            texts.append(elem.text.strip())

    # 写入TXT文件
    with open(txt_file, 'w', encoding='utf-8') as f:
        f.write('\n'.join(texts))
    print(f"已转换:{xml_file} -> {txt_file}")
except Exception as e:
    print(f"转换失败 {xml_file}: {e}")

def batch_convert_xml_to_txt(xml_folder, txt_folder): if not os.path.exists(txt_folder): os.makedirs(txt_folder)

for filename in os.listdir(xml_folder):
    if filename.lower().endswith('.xml'):
        xml_path = os.path.join(xml_folder, filename)
        txt_name = os.path.splitext(filename)[0] + '.txt'
        txt_path = os.path.join(txt_folder, txt_name)
        xml_to_txt(xml_path, txt_path)

使用方式

batch_convert_xml_to_txt('xml_files', 'txt_output')

2. 使用XSLT转换(适合结构化XML)

如果XML结构固定,可以用XSLT定义转换规则,提取特定字段。

  • 编写一个XSL样式表,输出纯文本
  • 配合命令行工具如xsltproc批量处理
命令示例:

xsltproc style.xsl input.xml > output.txt

3. 使用文本编辑器或工具软件

对于少量文件,可用支持正则替换的编辑器(如Notepad++):

  • 打开XML文件
  • 使用正则表达式 ]*> 替换为空,去除所有标签
  • 另存为.txt文件

批量时可结合宏或插件实现自动化。

4. 命令行+Shell脚本(Linux/macOS)

使用grep、sed、xmlstarlet等工具提取内容。

示例:
for file in *.xml; do
  xmlstarlet sel -t -v "//text()" "$file" > "${file%.xml}.txt"
done

基本上就这些常用方法。Python脚本最灵活,适合大多数场景,尤其是中文内容或复杂结构。只要把XML文件放在指定文件夹,运行一次脚本就能全部转完。关键是根据你的XML结构调整提取逻辑,比如是否保留换行、是否只提取某些节点等。