gpt4 book ai didi

python - xml.etree.ElementTree.ParseError -- 异常处理未捕获错误

转载 作者:行者123 更新时间:2023-12-02 01:22:27 30 4
gpt4 key购买 nike

我正在尝试解析an xml document当我尝试运行我的代码时,有许多未定义的实体会导致 ParseError ,如下所示:

import xml.etree.ElementTree as ET

tree = ET.parse('cic.fam_lat.xml')
root = tree.getroot()

while True:
try:
for name in root.iter('name'):
print(root.tag, name.text)
except xml.etree.ElementTree.ParseError:
pass

for name in root.iter('name'):
print(name.text)

该错误的示例如下,有许多未定义的实体都会抛出相同的错误: error description

我只是想忽略它们,而不是进去编辑每一个。我应该如何编辑异常处理来捕获这些错误实例? (即,我做错了什么?)

最佳答案

有一些解决方法,例如定义自定义实体,建议在:

但是,如果您能够切换到 lxml,则 XMLParser()可以在“恢复”模式下工作,这将“忽略”未定义的实体:

import lxml.etree as ET

parser = ET.XMLParser(recover=True)
tree = ET.parse('cic.fam_lat.xml', parser=parser)

for name in root.iter('name'):
print(root.tag, name.text)

(为我工作 - 打印标签名称和文本)

关于python - xml.etree.ElementTree.ParseError -- 异常处理未捕获错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47917787/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com