如何处理没有值的XML属性?

时间:2019-02-28 11:44:58

标签: python xml minidom

我当前正在编写一个程序,用于解析许多XML文件。 我感兴趣的一个属性如下所示: XML Attribute

我想提取此标签的值。有时,某些XML文件包含此标记,但没有任何值,这会破坏我的代码:

citation = document.getElementsByTagName("r3d:citationGuidelineURL")

for cit in citation:
        print(cit.firstChild.nodeValue)

如何检查是否存在节点值并停止程序因属性错误而崩溃?

1 个答案:

答案 0 :(得分:0)

基于ElementTree的解决方案

import xml.etree.ElementTree as ET

xml = '''<root>
   <a>value1</a>
   <a></a> 
   <a>value2</a>     
</root>'''

doc = ET.fromstring(xml)
a_list = doc.findall("a")
for a in a_list:
    if a.text:
        print(a.text)
    else:
        print('Empty Element')

输出

value1
Empty Element
value2