用Python解析类XML时踩的坑

在处理一份看似XML的数据时,遇到解析问题。由于数据中存在tag属性值未用双引号包围和tag不封闭的情况,导致xml.etree.ElementTree解析报错。尝试通过正则表达式修复数据,但面对不封闭的tag,仍无法成功解析。最终选择使用re模块匹配,以应对非标准格式的数据。
摘要由CSDN通过智能技术生成

最近在处理一份数据,初一看,这是xml格式,果断百度如何用Python解析xml,感觉甚是高大上。但是,细节决定成败啊,通过解析时遇到的bug发现,这数据竟不是标准的xml,原因有二:
1.tag的属性值应该用双引号引上,但是这份数据没有。举个栗子:

正确:<seg id="123">
错误:<seg id=123>

这样在用xml.etree.ElementTree解析的时候是会报错的,会指出是‘’不好的格式‘’。

2.tag不封闭,举例就是只有<seg>而没有</seg>

起初发现问题1的时候,我还天真的要修正这份数据,把tag的属性值的双引号补上,于是有了下面这段代码(顺便学了一点re)

'''这是部
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值