【发布时间】:2014-12-01 03:40:42
【问题描述】:
我想展平一个 lxml etree(特别是 HTML,如果重要的话)。我将如何获得树中所有元素的平面列表?
【问题讨论】:
-
退出投票结束。我需要所有元素的完整递归列表。即 tree.flatten().
标签: python dom tree lxml flatten
我想展平一个 lxml etree(特别是 HTML,如果重要的话)。我将如何获得树中所有元素的平面列表?
【问题讨论】:
标签: python dom tree lxml flatten
您可以使用.iter() 方法,如下所示:
from lxml import etree
xml = etree.XML('''<html><body>
<p>hi there</p><p>2nd paragraph</p>
</body></html>''')
# If you want to visit all of the descendants
for element in xml.iter():
print element.tag
# Or, if you want to have a list of all the descendents
all_elements = list(xml.iter())
print [element.tag for element in all_elements]
【讨论】: