特定のタグを抽出するためにいくつかの XML ファイルを解析しています。ここで多くの助けを借りて、テストファイルで動作しています。私は今、新しい問題を抱えています。同僚が私にテストを求めている次のファイルは、いくつかのタグが欠落しているようです。
これは私が現在持っているコードです:
with open('output.log', 'w') as f:
for info in root.xpath('//xmlns:ProgramInformation', namespaces=nsmap):
crid = (info.get('programId')) # retrieve crid
title = (info.find('.//xmlns:Title', namespaces=nsmap).text) # retrieve title
genre = (info.find('.//xmlns:Genre/xmlns:Name', namespaces=nsmap).text) # retrieve genre
f.write('{}|{}|{}\n'.format(crid, title, genre))
「crid」は常に存在しますが、タイトルやジャンルが生成されない問題があるようです。これにより、すべてが停止します。
コードが欠落しているタグをスキップして (ただし、crid を書き込んで) 次のセットに移動する方法、または出力ファイルにエラーを書き込む方法 (欠落しているタイトルまたはジャンルの代わりに) はありますか? )。