1. ホーム
  2. python

アクセス ElementTree ノード 親ノード

2023-08-18 08:23:06

質問内容

組み込みのPython ElementTreeモジュールを使用しています。子ノードにアクセスするのは簡単ですが、親ノードや兄弟ノードについてはどうでしょうか?- これは、ツリー全体をトラバースすることなく効率的に行うことができますか?

どのように解決するのですか?

のような形で直接サポートされているわけではありません。 parent 属性のような直接的なサポートはありませんが、おそらく次のようなパターンを使うことができます。 ここで を使用することで目的の効果を得ることができます。次のワンライナー(リンク先の記事から Python 3.8 に更新)は、メソッドを使って木全体の子から親へのマッピングを作成するために提案されています。 xml.etree.ElementTree.Element.iter :

parent_map = {c: p for p in tree.iter() for c in p}