簡體   English   中英

Python ElementTree“找不到元素”異常

[英]Python ElementTree “no element found” exception

進口:

import io
import xml.etree.ElementTree as ElementTree

注意:我已經查看了有關同一異常的其他線程,他們都提到一個潛在的問題是 XML 文件可能格式錯誤; 我非常確定我的格式很好,在多次檢查之后,然后通過在線驗證器運行它只是為了仔細檢查。

基本上,我無法在 io.StringIO 文件 object 上調用 Python 的 ElementTree.parse() function。 我知道此操作有效,因為以下代碼(位於問題代碼的正上方)有效:

testXMLInput = io.StringIO("<timedmile><miles>1</miles><minutes>1</minutes><seconds>1</seconds><month>1</month><day>1</day><year>1</year></timedmile>")
myElementTree = ElementTree.parse(testXMLInput)

但是,以下代碼不起作用:

xmlOutput = io.StringIO("<logdata><timedmiles></timedmiles></logdata>")
testElementTree = ElementTree.parse(xmlOutput)

我嘗試在 timedmiles 元素中放置一個值,但這並沒有阻止引發以下異常:

xml.etree.ElementTree.ParseError: no element found: line 1, column 0

問題可能是什么? 文檔和其他線程似乎沒有提到此異常的另一個原因。

也許您使用了一些過時的 ElementTree 版本?

運行ElementTree.VERSION以獲取版本。

我使用版本1.3.0並且沒有收到您的錯誤(在這兩種情況下)。 也許你應該升級你的軟件?

我還有一句話:解析源文件后,結果是ElementTree類型。 但是要執行各種操作,您應該運行root = myElementTree.getroot() (這次結果是Element類型)並只使用這個元素。

例如,如果您運行ElementTree.tostring(...) ,第一個參數應該只是root ,而不是myElementTree

暫無
暫無

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

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