表示xml
<grandparent>
<parent1>
<child>data1</child>
</parent1>
<parent2>
<child>data2</child>
</parent2>
</grandparent>
我需要包含父元组的列表,xml中每个父元素的数据。
有没有办法使用cElementTree?我能够为孩子,数据做这件事,但不幸的是孩子在所有的价值观上是相同的,因此没有多大用处。
答案 0 :(得分:5)
parent_map = dict((c, p) for p in tree.getiterator() for c in p)
parent_map[el].remove(el)
答案 1 :(得分:4)
似乎您可以使用像child.find('../parent')
这样的xpath命令,使用ElementTree的1.3版(检查http://effbot.org/zone/element-xpath.htm)来访问子项中的父项。但是我觉得python的版本是1.2或者什么。
您还应该检查与etree兼容并且具有完整Xpath支持的lxml http://lxml.de/
答案 2 :(得分:0)
此语法似乎适用于cElementTree
ET.fromstring("<c><a><b></b></a></c>").find('.//b/..')
不要使用基本父级,并使用双斜杠然后在路径中使用单斜杠 (会在上面的帖子中发表评论,但似乎我没有特权)