以下代码存在问题,因为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)
答案 0 :(得分:0)
问题有点不清楚,但如果您要查找文档中使用的所有标记名称,则以下内容应该有效。
tag_names = set([e.tag for e in tree.xpath('//*')])