Как работать с XML-атрибутами, у которых нет значений? - PullRequest
0 голосов
/ 28 февраля 2019

В настоящее время я пишу программу, в которой я анализирую множество XML-файлов.Один интересующий меня атрибут показан ниже: Атрибут XML

Я хочу извлечь значение этого тега.Иногда некоторые XML-файлы содержат этот тег, но не имеют значения, это нарушает мой код:

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

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

Как проверить, есть ли значение узла, и остановить сбой моей программы с ошибкой атрибута?

1 Ответ

0 голосов
/ 28 февраля 2019

Решение на основе 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
...