2017-11-20 19 views

答えて

1

あなたは何をしようとしていますか?あなたが理解しているように、いくつかのXMLを解析していて、索引に基づくXML要素の1つからテキストを取得しようとしています。代わりにXPath searchingを使うことができると思います。 xmlではなくxmlsを解析するためにlxmlモジュールを使用すると、さらに効果的です。 Hereは、lxmlでのXPathの使用方法の説明です。

とにかく、インデックスの使用が本当に好きな場合は、特定のインデックスの下に要素が存在するかどうかを確認する必要はありません。 indexが存在しない場合は、代わりにtryを使用してエラーを捕捉します。

This answersには、このアプローチを使用する理由がいくつか示されています。

そして、あなたのコードは次のように多かれ少なかれになります:

tree = ET.parse(file) 
root = tree.getroot() 
try: 
    text = root[0][1][0].text 
except IndexError as e: 
    #do something to handle error 
    pass 
関連する問題