我必须使用python ElemetTree解析几个XML文件(它们是另一位开发人员的遗产)。
到目前为止,我已经对那些文件进行了一些更正并解析了一个很大的块,但是有一段时间我遇到了此解析错误,但无法解决。试图解析原始文件(我正在使用课程的副本),尽管它一开始工作正常,但仍然是相同的错误。
错误: ParseError: mismatched tag
我的代码是:
import xml.etree.ElementTree as ET
tree = ET.parse('astrod.xml')
完整的错误文字:
Traceback (most recent call last):
File "D:\dev\tools\Anaconda\lib\site-packages\IPython\core\interactiveshell.py", line 3326, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-4-6aa074179306>", line 2, in <module>
tree = ET.parse('astrod.xml')
File "D:\dev\tools\Anaconda\lib\xml\etree\ElementTree.py", line 1197, in parse
tree.parse(source, parser)
File "D:\dev\tools\Anaconda\lib\xml\etree\ElementTree.py", line 598, in parse
self._root = parser._parse_whole(source)
File "<string>", line unknown
ParseError: mismatched tag: line 449, column 3
看一下线ParseError: mismatched tag: line 449, column 3
。
line 449
是源XML文件中的行号。找到这一行,看看内容有什么问题。此行可能包含一些标签(例如,关闭标签),没有开头。
替代方法:访问任何XML验证站点,然后检查文件出了什么问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句