擅长:python、mysql、java
<p>您可以编写递归方法来遍历树并捕获父级。在</p>
<pre><code>def recurse_tree(node):
for child in node.getchildren():
if child.text == 'user1':
yield node
for subchild in recurse_tree(child):
yield subchild
print list(recurse_tree(root))
# [<Element 'user' at 0x18a1470>]
</code></pre>
<p>如果您使用的是python3.X,那么可以使用漂亮的<code>yield from ...</code>语法,而不是迭代递归调用。在</p>
<p>请注意,这可能会多次生成同一节点(如果有多个子节点包含目标文本)。您可以使用集合来删除重复项,也可以更改控制流以防止发生这种情况。在</p>