2016-12-16 30 views
0

我試圖解析使用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) 

但是沒有任何改變。

+0

你能確定它告訴你的xml文件的哪一行嗎?這可能是正確的,並且xml格式不正確(缺少匹配標籤等) – CoryKramer

+0

好吧,它也顯示在錯誤消息中: 回溯(最近一次調用最後一次): 文件「tracks.py」,行50,在 東西= ET.fromstring(FNAME) 文件 「C:\用戶\左\ Anaconda3 \ lib中\ XML \ etree \ ElementTree.py」,線1334,在XML 返回parser.close() 我猜是1334線。但只要我能看到,那裏沒有錯。至少第一次看。 –

回答

0

xml文件縮進出了什麼問題。我不知道它實際上扮演了一個角色,但我保存了xml文件並使用Notepad ++打開它並工作。

+0

你能接受這個答案嗎? 當人們沒有接受答案時搜索未回答的問題。 謝謝。 –

+0

我已經這樣做了,但它說:你可以在2天內接受你自己的答案。 –

+0

我忘了這件事,對不起。 –

相關問題