ElementTree - findall 对于所有子元素的递归选择
Python 代码:
h.xml 代码:
代码输出
, 这是另一个的后代
, 这里没有选择。 所以如何指导 findall 在树上递归下降 DOM 并收集所有三个元素
?
</element></element>
import xml.etree.ElementTree as ET
root = ET.parse/"h.xml"/
print root.findall/'saybye'/
h.xml 代码:
<hello>
<saybye>
<saybye>
</saybye>
</saybye>
<saybye>
</saybye>
</hello>
代码输出
[<element 'saybye'="" 0x7fdbcbbec690="" at="">, <element 'saybye'="" 0x7fdbcbbec790="" at="">]
saybye
, 这是另一个的后代
saybye
, 这里没有选择。 所以如何指导 findall 在树上递归下降 DOM 并收集所有三个元素
saybye
?
</element></element>
没有找到相关结果
已邀请:
4 个回复
风见雨下
赞同来自:
:
看
https://docs.python.org/2/libr ... .iter
裸奔
赞同来自:
, 这意味着查找任何后代节点:
满的 XPath 不支持,但这是什么是:
https://docs.python.org/2/libr ... yntax
喜特乐
赞同来自:
https://docs.python.org/2/libr ... ments
,
只有标记的元素,即当前元素的直接子元素。
因为他只发现直接儿童,我们需要递归地找到这样的孩子
甚至更好,使它成为这样的发电机功能
</element></element></element></element></element></element>
奔跑吧少年
赞同来自:
只有标记的元素,即当前元素的直接子元素。
我们需要递归地绕过所有子元素,以查找与元素对应的项目。