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