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

将XML文件转换为TXT文本格式,可以通过提取XML中的文本内容,去掉标签,保存为纯文本。批量处理时,推荐使用脚本自动化操作。以下是几种实用方法:
1. 使用Python脚本批量转换
Python处理XML非常方便,可以读取多个XML文件,提取内容并保存为TXT。
示例代码:功能说明:
遍历指定文件夹中的所有.xml文件,提取其中的文本内容(去除标签),保存为同名.txt文件。
代码示例:
import os import xml.etree.ElementTree as ETdef 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结构调整提取逻辑,比如是否保留换行、是否只提取某些节点等。









