Как проверить, существует ли текст между двумя закрытыми тегами XML или нет в мини-домене? - PullRequest
0 голосов
/ 30 апреля 2018

Мой пример xmlis такой:

<name></name>
<salary>19099</salary>

Как проверить, существует ли текст между двумя закрытыми тегами, т.е. "<name>", в минидоме или нет?

Что делать, если оно пустое?

Если текст не существует, он должен продолжаться со следующей итерацией.

1 Ответ

0 голосов
/ 01 мая 2018

Вы должны были предоставить нам пример данных XML для работы. В противном случае, вот грязный пример:

>>> from xml.dom import minidom
>>> s = '<example>19099</example>'
>>> xmldom = minidom.parseString(s)
>>> elts = xmldom.getElementsByTagName('example')
>>> for elt in elts:
...     if elt.childNodes[0].nodeValue == '19099':
...             print 'It exists'
... 
It exists

Обновление:

предоставленные вами теги не появляются до того, как я отформатировал ваш вопрос. Итак, вот ответ: вы можете проверить, есть ли дочерние узлы относительно тегов <name>:

>>> s2 = '<name></name>'
>>> xmldom = minidom.parseString(s2)
>>> elements = xmldom.getElementsByTagName('name')
>>> for element in elements:
...     if len(element.childNodes)>0:
...             print 'There is a name text there'
... 
>>> 

Но это зависит от того, как ваши XML-данные действительно структурированы. Мое решение работает, если данные XML такие, как вы поделились здесь: <name></name>.

...