1 つのディレクトリ内のすべての xml ファイルを解析するプログラムを作成しようとしています。コードは正常に動作しているように見えますが、ファイルが問題なく解析される場合があり (ファイルが単独の場合、または最初に解析される場合)、同じファイルを解析すると ""IndexError: list index out of range" が返されることがあります。
from xml.dom.minidom import parse, parseString
import os
liste=open('oup_list_hybrid.txt','a')
for r,d,f in os.walk('C:/Users/bober/Documents/Analyse_citation_crossref/'):
for files in f:
if files.endswith(".xml"):
print files
dom=parse(files)
for element in dom.getElementsByTagName('record'):
rights = element.getElementsByTagName('dc:rights')
doi = element.getElementsByTagName('dc:identifier')
date= element.getElementsByTagName('dc:date')
try:
valeurrights=rights[0].firstChild.nodeValue
valeurdoi=doi[1].firstChild.nodeValue
valeurdate=date[0].firstChild.nodeValue
resultat=valeurrights+';'+valeurdoi+';'+valeurdate+'\n'
liste.write(resultat)
except IndexError:
print 'pb avec'+files
continue
break
liste.close()
ここで何が間違っていますか?助けてくれてありがとう!