ホームページ >バックエンド開発 >Python チュートリアル >Python の ElementTree で名前空間を使用して XML を効果的に解析するにはどうすればよいですか?
'ElementTree' を使用した Python での名前空間を使用した XML の解析: 名前空間プレフィックスの解決
を使用して複数の名前空間を持つ XML ドキュメントを解析しようとしましたPython の ElementTree、認識されない名前空間により一般的なエラーが発生する接頭辞。これを修正するには、明示的な名前空間辞書を提供する必要があります。
.find()、findall()、および iterfind() メソッドでは、名前空間プレフィックスを URL にマッピングする必要があります。提供された XML に対して、名前空間辞書を作成します:
namespaces = {'owl': 'http://www.w3.org/2002/07/owl#'}
この辞書を使用して要素を検索します:
# Find all owl:Class tags root.findall('owl:Class', namespaces)
ElementTree は名前空間辞書を使用して、'owl' プレフィックスを自動的に解決しますそのURLに。これは次と同等です:
# Resolve the prefix to its URL owl_namespace = 'http://www.w3.org/2002/07/owl#' root.findall('{' + owl_namespace + '}Class')
さらに、名前空間の解決に .nsmap 属性を利用できます。ただし、最適な名前空間サポートを得るには、lxml ライブラリへの切り替えを検討してください。名前空間の収集を自動化し、名前空間全体の処理を改善します。
以上がPython の ElementTree で名前空間を使用して XML を効果的に解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。