python读取xml文件报错xml.parsers.expat.ExpatError: XML or text declaration not at start of entity

遇到xml.parsers.expat.ExpatError: XML or text declaration not at start of entity错误,通常认为是XML文件第一行没顶格写,但问题可能在于XML文件中有多个<?xml version="1.0"?>标签。解决方案是通过异常处理,读取文件时遇到错误则记录并跳过该文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先说明一下我之前对python的xml.dom.minidom模块不熟,遇到这个问题时先想到的是百度,结果转了一圈回来发现大家都写的是xml文件中的第一行,也就是

<?xml version="1.0" encoding="GBK"?>

这个可能没有顶格写,有空格。可是我遇到的问题是,它确实是在第一行第一列写的,然后,我就反复去看xml文件,发现了文件中间还有一个<?xml version="1.0"?>标签,导致了报错。所以并不是我们写的代码有问题,只能说是代码写得不完善。

所以我的解决办法是直接在读取文件时写了一个异常处理,当发现错误格式的Xml文件时就记录这个文件,并跳过它,执行下一个xml文件。

#打开xml文档,并返回dom对象
def read_init(path):
    dom = xml.dom.minidom.parse
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值