Python 3 如何在列表中搜索 xml.etree.ElementTree 的子节点以查找字符串
Python 3 How to search children nodes of xml.etree.ElementTree for strings in a list
我想让这个更简单,并且能够搜索变量列表:alarm1、alarm2、alarm3...在 alarmDict.values()
目前我所拥有的有效方法:
import xml.etree.ElementTree as ET
tree = ET.parse (path.filename) #XML file
root = tree.getroot()
for child in root:
alarmDict = child.attrib #This lists the alarm codes as dicts
if 'alarm1' in alarmDict.values(): print ('Contains this alarm', 'alarm1')
if 'alarm2' in alarmDict.values(): print ('Contains this alarm', 'alarm2')
if 'alarm3' in alarmDict.values(): print ('Contains this alarm', 'alarm3')
我的目标是:
for child in root:
alarmDict = child.attrib #This lists the alarm codes as dicts
alarm_list = [alarm1, alarm2, alarm3]
if alarm_list in alarmDict.values(): print ('Contains this alarm', alarm_list[])
你需要另一个循环:
for child in root:
alarmDict = child.attrib #This lists the alarm codes as dicts
alarm_list = [alarm1, alarm2, alarm3]
for alarm in alarm_list:
if alarm in alarmDict.values():
print('Contains this alarm', alarm)
如果您想真正深入了解对照另一个列表检查列表内容的最佳方法,我建议您 this answer
我想让这个更简单,并且能够搜索变量列表:alarm1、alarm2、alarm3...在 alarmDict.values()
目前我所拥有的有效方法:
import xml.etree.ElementTree as ET
tree = ET.parse (path.filename) #XML file
root = tree.getroot()
for child in root:
alarmDict = child.attrib #This lists the alarm codes as dicts
if 'alarm1' in alarmDict.values(): print ('Contains this alarm', 'alarm1')
if 'alarm2' in alarmDict.values(): print ('Contains this alarm', 'alarm2')
if 'alarm3' in alarmDict.values(): print ('Contains this alarm', 'alarm3')
我的目标是:
for child in root:
alarmDict = child.attrib #This lists the alarm codes as dicts
alarm_list = [alarm1, alarm2, alarm3]
if alarm_list in alarmDict.values(): print ('Contains this alarm', alarm_list[])
你需要另一个循环:
for child in root:
alarmDict = child.attrib #This lists the alarm codes as dicts
alarm_list = [alarm1, alarm2, alarm3]
for alarm in alarm_list:
if alarm in alarmDict.values():
print('Contains this alarm', alarm)
如果您想真正深入了解对照另一个列表检查列表内容的最佳方法,我建议您 this answer