[英]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.