使用Python中的xml.etree.Elementree检索具有至少两个特定类型子项的所有元素

时间:2017-12-15 11:08:17

标签: python xml elementtree

我正在使用xml.etree.Elementree检索至少有两个孩子<a>的所有项<b>。我试图用findall方法来做,但似乎没有选项来检查这个要求。

例如,如果我有这个文件:

<main>
  <a>
    <b>...</b>
    <b>...</b>
  </a>
  <a>
    <b>...</b>
  </a>
  <a>
    <b>...</b>
    <b>...</b>
    <b>...</b>
    <b>...</b>
  </a>
</main>

我想检索第一个和第三个<a>元素。

有没有办法执行此过滤?

1 个答案:

答案 0 :(得分:1)

使用<interactive>:27:1-8: error: Variable not in scope: potencia :: Integer -> Integer -> t 方法:

lxml.etree.xpath()

输出(连续:from lxml import etree tree = etree.parse('yourfile.xml') nodes = tree.xpath('/main/a[count(./b) > 1]') for a in nodes: print(list(a)) # getting child nodes of the current <a> node 节点有2个a子节点和b节点有4个a子节点:

b