簡體   English   中英

使用 python ElementTree 解析 XML:ParseError:不匹配的標記

[英]Parsing XML with python ElementTree: ParseError: mismatched tag

我有幾個 XML 文件,我必須使用 python ElemetTree 進行解析(它們是另一位開發人員遺留下來的)。

到目前為止,我已經稍微更正了這些文件並解析了一個很好的塊,但在某些時候我遇到了這個解析錯誤,我無法解決它。 嘗試解析原始文件(我正在使用當然的副本),但它仍然是相同的錯誤,即使它最初工作正常。

錯誤: 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 驗證站點並檢查您的文件有什么問題。

我遇到了同樣的問題,只是將具有此命名約定的圖片的名稱從 frame15148-Copy.jpg 重命名為 frame15148.jpg 並且不匹配錯誤消失了重命名的圖片

我發現有時您會在比實際錯誤晚很多的行號處收到此錯誤。 當您關閉未正確打開的標簽時,它只會注意到錯誤。 查看文件的前面部分。

例如,我有一個類似的問題,錯誤消息聲稱

xml.etree.ElementTree.ParseError:標簽不匹配:第 12 行,第 2 列

但錯誤不在提到的那一行,我在一開始就拼錯了一個標簽開頭。

通過您的輸入向后檢查給您這個錯誤的開始標記。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM