デフォルトの名前空間を使用して XML ドキュメントを解析しようとしています。つまり、ルート ノードにxmlns
属性があります。各タグにはデフォルトの名前空間がプレフィックスとして付けられているため、子ノードで特定のタグを見つけようとする場合、これは面倒です。
xml.etree.ElementTree.findall()
辞書を渡すことができnamespaces
ますが、デフォルトの名前空間がマップされているものを見つけることができないようです。「デフォルト」、「なし」、「xmlns」を使用してみましたが、成功しませんでした。
機能しているように見える1つのオプションは、渡されたタグfindall()
に「xmlns:」(編集:これは実際には任意の一意の名前にすることができます)と名前空間辞書の対応するエントリをプレフィックスとして付けることですが、それが必要かどうか疑問に思っています.
編集: これは Python 3.3.2 であることに注意してください。私は古いバージョンの Python を信じており、引数findall()
を受け入れません。namespaces