我試圖解析使用Python和元素樹,這是這種形式的一個iTunes xml庫:xml.etree.ElementTree.ParseError:沒有很好地形成(標記無效):線104,塔109
<plist version="1.0">
<dict>
<key>Major Version</key>
<integer>1</integer>
<key>Minor Version</key>
<integer>1</integer>
...
...
...
<dict>
<key>Track ID</key>
<integer>156</integer>
<key>Name</key>
<string>Stairway to heaven</string>
...
...
</dict>
<dict>
<key>Track ID</key>
<integer>342</integer>
<key>Name</key>
<string>Summer of 69</string>
...
...
</dict>
</dict>
</plist>
我試圖解析它: 進口xml.etree.ElementTree作爲ET
fname = input('Enter file name: ')
stuff = ET.parse(fname)
,但我得到了如下的錯誤:「xml.etree.ElementTree.ParseError:格式不正確(標記無效):第104行,第109欄「。我發佈之前通過Stackoverflow搜索,但我找不到任何有助於我的情況發佈。任何人都可以發佈任何我可能意外跳過或幫助的相對帖子?
P.S.我試圖將編碼更改爲'utf-8',但沒有發生任何事情。我也嘗試過:
parser = etree.XMLParser(recover=True)
但是沒有任何改變。
你能確定它告訴你的xml文件的哪一行嗎?這可能是正確的,並且xml格式不正確(缺少匹配標籤等) – CoryKramer
好吧,它也顯示在錯誤消息中: 回溯(最近一次調用最後一次): 文件「tracks.py」,行50,在 東西= ET.fromstring(FNAME) 文件 「C:\用戶\左\ Anaconda3 \ lib中\ XML \ etree \ ElementTree.py」,線1334,在XML 返回parser.close() 我猜是1334線。但只要我能看到,那裏沒有錯。至少第一次看。 –