我正试图围绕 lxml (这是新的)以及如何使用它来做我想做的事情。我有一个格式正确且有效的 XML 文件
<root>
<a>
<b>Text</b>
<c>More text</c>
</a>
<!-- some comment -->
<a>
<d id="10" />
</a>
</root>
像这样的东西。现在我想以广度优先访问孩子们,我能想到的最好的办法是这样的:
for e in xml.getroot()[0].itersiblings() :
print(e.tag, e.attrib)
然后从那里拿走。但是,这给了我包括评论在内的所有元素
a {}
<built-in function Comment> {}
a {}
如何跳过评论?有没有更好的方法来迭代节点的直接子节点?
一般来说,解析 XML 树与使用事件驱动的拉式解析的建议是什么iterparse()
?