2

Windows 32 ビット PC で Python 2.4 バージョンを使用しています。ElementTree モジュールを使用して非常に大きな XML ファイルを解析しようとしています。このモジュールのバージョン 1.2.6 を effbot.org からダウンロードしました。

私は目的のために以下のコードに従いました:

import elementtree.ElementTree as ET

input = ''' 001 Chuck 009 Brent '''
stuff = ET.fromstring(input)
lst = stuff.findall("users/user")
print len(lst)

for item in lst:
    print item.attrib["x"]

item = lst[0]
ET.dump(item)
item.get("x") # get works on attributes
item.find("id").text
item.find("id").tag

for user in stuff.getiterator('user'):
    print "User" , user.attrib["x"]

ET.dump(user)

入力の内容が大きすぎて 10,000 行を超えると、fromstring関数はエラーを発生させます (以下)。誰でもこのエラーを修正するのを手伝ってもらえますか?

これは生成されたエラーです:

トレースバック (最新の呼び出しが最後): ファイル "C:\Documents and Settings\hariprar\My Documents\My files\Python Try\xml_try1.py"、16 行目、-toplevel-stuff = ET.fromstring(input) File " C:\Python24\Lib\site-packages\elementtree\ElementTree.py", 行 1012, XML return api.fromstring(text) ファイル "C:\Python24\Lib\site-packages\elementtree\ElementTree.py", fromstring parser.feed(text) ファイル "C:\Python24\Lib\site-packages\elementtree\ElementTree.py" の 182 行目、フィード self._parser.Parse(data, 0) の 1292 行 ExpatError: うまくいきません形式 (無効なトークン): 行 2445、列 39

4

1 に答える 1