ElementTree独特的标签

时间:2018-02-04 06:31:46

标签: python arrays lxml

以下代码存在问题,因为clist数组将包含每个标记,但我需要它来删除任何可能的重复项。我找不到单独获取每个e.tag结果的方法,这导致它将整个标记列表解析到数组中,一次一个标记列表,所以它最终会给你一个由数组组成的数组。

有问题的代码:

import xml.etree.ElementTree as ET
tree = ET.parse('example.xml').getroot()
for nametag in tree.iter('nametag'):
    elems = [e for e in nametag.iter() if len(e.text) > 1]
    clist = []
    for e in elems:
        if not e.tag in clist:
            clist.append(e.tag)

1 个答案:

答案 0 :(得分:0)

问题有点不清楚,但如果您要查找文档中使用的所有标记名称,则以下内容应该有效。

tag_names = set([e.tag for e in tree.xpath('//*')])