首页 > 解决方案 > 在一个循环中为python查找多个元素

问题描述

我必须在 SQL 数据库中插入一些 XML 标记。
我可以通过以下代码获取值。但我必须插入多个值,如创建、注释、名称、修改等。我怎样才能在一次调用中获取所有内容并将其插入到 SQL 的一条语句中?

for element in root.iter('Created'):
    print(element.text)

标签: python

解决方案


你有几个选择:

使用itertools.chain()

tags = ['Created', 'Comments', 'Name', 'Modify']
tag_iterators = [root.iter(tag) for tag in tags]
for element in itertools.chain(*tag_iterators):
    print(element.text)

遍历所有标签然后过滤:

tags = ['Created', 'Comments', 'Name', 'Modify']
for element in root.iter():
    if element.tag not in tags:
        continue
    print(element.text)

最后,如果您需要所有标签,那么只需:

for element in root.iter():
    print(element.text)

推荐阅读