Python 标记ElementTree中Findall的空XML结果

Python 标记ElementTree中Findall的空XML结果,python,xml,elementtree,findall,Python,Xml,Elementtree,Findall,我正在编写一个python脚本来查找XML文件中的各种标记,并希望在找不到特定标记(表明我们的元数据不完整)时发出警告。对于只有一个实例的图元,此操作非常有效: try: element = tree.find("idinfo/descript/abstract") if element is None: print "(!) No description/abstract in file" print "ABSTRACT: {}".format(elem

我正在编写一个python脚本来查找XML文件中的各种标记,并希望在找不到特定标记(表明我们的元数据不完整)时发出警告。对于只有一个实例的图元,此操作非常有效:

try:
    element = tree.find("idinfo/descript/abstract")
    if element is None:
        print "(!) No description/abstract in file"
    print "ABSTRACT: {}".format(element.text)
except:
    print "(!) No description/abstract found"
此循环用于查找所有
procdate
元素,但在没有任何元素时,无论是“if none”还是“except”警告版本,都不会给出任何错误消息

try:
    for element in tree.findall("dataqual/lineage/procstep/procdate"):
        if element is None:
            print "(!) No revision date in file"
        print "REVISION DATE: {}".format(element.text)
except:
    print "(!) No revision date found"

[如果我不能主动地将某个内容标记为空,这不是什么大问题,但是如果能够提醒用户…][/p>当没有找到任何内容时,
findall()
将返回一个空列表。首先测试:

results = tree.findall("dataqual/lineage/procstep/procdate")
if not results:
    print "(!) No revision date found"
else:
    for element in results:
        print "REVISION DATE: {}".format(element.text)

notresults
就足够了,因为空容器在布尔上下文中测试为false。

哦,谢谢,我知道这很简单,只是找不到什么!