Python ElementTree:查找没有元素的子级
我有一个XML文档,其中包含多个同名标记,如下所示:Python ElementTree:查找没有元素的子级,python,xml,elementtree,Python,Xml,Elementtree,我有一个XML文档,其中包含多个同名标记,如下所示: <record> <lang type="1">eng</lang> <lang>fra</lang> </record> 但是,如果我只想找到没有任何属性的元素,比如第二个元素,该怎么办?显然,我可以找到所有元素,然后进行if检查或尝试,但有更好的方法吗?遍历整个树,打印所有标记和属性 for el in tree.iter(): print
<record>
<lang type="1">eng</lang>
<lang>fra</lang>
</record>
但是,如果我只想找到没有任何属性的元素,比如第二个元素,该怎么办?显然,我可以找到所有元素,然后进行if检查或尝试,但有更好的方法吗?遍历整个树,打印所有标记和属性
for el in tree.iter():
print el.tag, el.attrib
for el in tree.iter(tag='record'):
print el.tag, el.attrib
从记录
标记开始遍历树,打印所有标记和属性
for el in tree.iter():
print el.tag, el.attrib
for el in tree.iter(tag='record'):
print el.tag, el.attrib
遍历lang
标记
我也会看一看。这将帮助您找到解析XML节点的不同方法。ElementTree没有实现完整的功能,因此它缺少布尔、数字和字符串比较函数等功能。正如您已经意识到的那样,您希望在这里执行的是负属性搜索,这在ET的有限XPath实现中是不可能的 ET的程序员依赖Python的comparator功能,通过pythonic if、check或try/except方法提供这些功能