python - lxml - 获取元素的平面列表

标签 python dom tree lxml flatten

我想展平一个 lxml etree(特别是 HTML,如果重要的话。)我将如何获得树中所有元素的平面列表?

最佳答案

您可以使用 .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]

关于python - lxml - 获取元素的平面列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26223693/

相关文章:

javascript - 使用 Javascript 进行待办事项列表 : can't delete item

javascript - 为什么appendChild不能在<li>模板标签上工作

python - Django 模板 : Use translation in default_if_none

python - 给定值可能是不同类型的字典,如何将 python 字典简洁地转换为元组列表?

javascript - 不断淡入淡出

Scala:解决 "illegal cyclic reference"

c# - C# 中的这个树实现有什么问题?

java - 在 Java 中如何找到通往这棵树的路径数?

javascript - 将 JS 对象提取为 JSON

python - 加入列表中的元组