import os
import re
import sys
import glob
import xml.etree.ElementTree as ET
def xml_to_txt(indir,outdir):
os.chdir(indir)
annotations = os.listdir('.')
annotations = glob.glob(str(annotations)+'*.xml')
pat = re.compile('(?<=\>).*?(?=\<)')
for i, file in enumerate(annotations):
file_save = file.split('.')[0]+'.txt'
file_txt=os.path.join(outdir,file_save)
f_w = open(file_txt,'w',encoding="utf-8")
tree=ET.parse(file)
root = tree.getroot()
for obj in root.iter('PostItem'):
current = list()
for ele in obj.iter():
if "content" in ele.tag:
content = obj.find('content').text
if content:
content = re.sub(r'</?\w+[^>]*>','',content).replace(" "," ").strip()
print(content)
f_w.write(content)
f_w.write("\n")
if "caption" in ele.tag:
caption = obj.find('caption').text
if caption:
caption = re.sub(r'</?\w+[^>]*>','',caption).replace(" "," ").strip()
f_w.write(caption)
f_w.write("\n")
print(caption)
indir='E:\Data\demo-xml'
outdir='E:\Data\demo-txt'
xml_to_txt(indir,outdir)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决