XMLファイル – 2
早速やってみたのですが,ハマりました. どうも腑に落ちないので,ちょっと書いてみようと思います. 次のようなXMLファイルがあるとします. <elem1> <elem2> </elem2> </elem1> このファイルを二つコピーして,test1.xml,test2.xmlとします.中身は全く同じ物です. これを以下のようにしてparseすると,test1.xmlは平気なんですが,test2.xmlの処理中にエラーが出てしまいます. files = ['test1.xml', 'test2.xml'] psr = xml.parsers.expat.ParserCreate() for f in files: file = open(f, ‘r’) psr.ParseFile(file) file.close() ところが,以下だと平気なんです. files = ['test1.xml', 'test2.xml'] for f in files: psr = xml.parsers.expat.ParserCreate() file = open(f, ‘r’) psr.ParseFile(file) file.close() どうも納得行かないので,PerlのXML::Parserで同じXMLファイルをforeach内で読ませてみた所,エラーは出ませんでした. parserオブジェクトを毎回作るなんてやりたくないんですけど,使い方が間違っているのでしょうか?それとも単にモジュールのバグなんでしょうか?