如何修改和枚举python中的XML标签

How to modify and enumerate XML tags in python

我意识到在语料库 XML 文件中,许多句子都缺少 句子 ID ,这对于浏览它们很重要。我现在想遍历所有 <sentence/> 标记并添加一个具有枚举值的属性,例如:<sentence id="1">,以及下一个 <sentence id="2"> 等等。

在BeautifulSoup中可以添加属性:soup.find('sentence')['id'] = '1' returns <sentence id="1">在树中。

现在,我怎样才能连续增加这个数字? (也非常欢迎Elementtree的建议)

find_all的结果使用enumerate,像这样:

items = soup.find_all('sentence')
for index,items in enumerate(items):
    items['id'] = str(index)

默认情况下,enumerate0 开始索引。正如 Keyur Potdat 所指出的,您可以使用 enumerate(items,1) 将第一个 id 设置为 1,或任何其他起始值(另请参阅 https://docs.python.org/3.6/library/functions.html#enumerate)。