使用python ElementTree解析XML:ParseError:标记不匹配

问题描述 投票:0回答:1

我必须使用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
python xml parsing xml-parsing elementtree
1个回答
0
投票

看看行ParseError: mismatched tag: line 449, column 3

line 449是源XML文件中的行号。找到这一行,看看内容有什么问题。此行可能包含一些标签(例如关闭),但没有开幕式。

一种替代方法:访问任何XML验证站点并检查出什么问题与您的文件。

© www.soinside.com 2019 - 2024. All rights reserved.