0
次のような内容の大きなXMLファイル(200万個のオブジェクトの詳細)があります。ファイルサイズは657MBですcElementTree.ParseError:整形式でない(無効なトークン)
<?xml version="1.0" encoding="UTF-8?>
<root>
<item>
<rank>1</rank>
<landinglink>www.google.com</landinglink>
<descrip>some text</descrip>
</item>
<item>
<rank>1</rank>
<landinglink>www.facebook.com</landinglink>
<descrip>some text</descrip>
</item>
<item>
<rank>1</rank>
<landinglink>www.xyz.com</landinglink>
<descrip>some text</descrip>
</item>
.
.
.
.
.
.
.
</root>
私はすべての「着陸リンク」を印刷しようとしています。私が使用しているコードは以下の通りです。
import xml.etree.cElementTree as ET
for event, elem in ET.iterparse("filename.xml"):
if event == 'end' and elem.tag == 'item':
print elem.find('landinglink').text
しかし、コードを実行しているうちに次のエラーが表示されます。
Traceback (most recent call last):
File "D:/test.py", line 2, in <module>
for event, elem in ET.iterparse("filename.xml"):
File "<string>", line 91, in next
cElementTree.ParseError: not well-formed (invalid token): line 1338, column 298
このエラーは、別の場所で繰り返されます。このタイプのエラーを回避する方法。どんな助力も高く評価されます。
その行には、その位置に何がありますか? – cco
いくつかのテキストの説明がありますが、xA0種類のエラーが含まれています –
値が '\ xA0'の場合、ファイルはutf-8として正しくエンコードされません。 – cco