9

xml の場合

<grandparent>
  <parent1>
     <child>data1</child>
  </parent1>
  <parent2>
     <child>data2</child>
  </parent2>
</grandparent>

親のタプルを含むリスト、xml 内の各親のデータが必要です。

cElementTreeを使用してそれを行う方法はありますか? 私は子、データに対してそれを行うことができますが、残念ながら子はすべての値が同一であるため、あまり役に立ちません。

4

3 に答える 3

6

のようなxp​​athコマンドを使用して、 ElementTreeのバージョン1.3( http://effbot.org/zone/element-xpath.htmを確認)を使用して、子から親にアクセスできるようchild.find('../parent')です。しかし、pythonにはバージョン1.2か何かが付属していると思います。

また、etreeと互換性があり、Xpathを完全にサポートしているlxmlを確認する必要がありますhttp://lxml.de/

于 2008-12-17T13:46:40.533 に答える
5
parent_map = dict((c, p) for p in tree.getiterator() for c in p)
parent_map[el].remove(el)
于 2012-09-21T15:39:38.090 に答える
0

この構文は cElementTree で機能するように見えました

ET.fromstring("<c><a><b></b></a></c>").find('.//b/..')

ベースの親には行かず、パスで二重スラッシュを使用してから単一スラッシュを使用します。
(上記のスレッドにコメントとして投稿したはずですが、私には権限がないようです)

于 2016-07-05T19:20:56.740 に答える