Python Lxml (objectify): Проверка наличия тега

Мне нужно проверить, существует ли определенный тег в XML-файле.

Например, я хочу посмотреть, существует ли тег в этом фрагменте:

 
Hi ...

В настоящее время я использую уродливый хак с проверкой ошибок, например этот:

try:
   if root.elem1.tag:
      foo = elem1
except AttributeError:
   foo = "error finding elem1"

Я также хочу настроить строку, если она не может чтобы найти узел (т.е. «невозможно найти -tagname-»).

Мне нужно проверить длинный список переменных, и я не хочу повторять код 100 раз.

Есть предложения?

Изменить:

Вот фрагмент фактического файла xml:

Dvaered -1000.000000 0 Empire 100.000000 2

Я хочу проверить, существует ли тег, и, если да, получить его содержимое.

Редактировать редактировать: Например, я хочу увидеть, существует ли тег в этом фрагменте:

Привет ...

Мне нужно проверить, существует ли определенный тег в XML-файле.

Например, я хочу посмотреть, существует ли тег в этом фрагменте:

 
Hi ...

В настоящее время я использую уродливый хак с проверкой ошибок, например этот:

try:
   if root.elem1.tag:
      foo = elem1
except AttributeError:
   foo = "error finding elem1"

Я также хочу настроить строку, если она не может чтобы найти узел (т.е. «невозможно найти -tagname-»).

Мне нужно проверить длинный список переменных, и я не хочу повторять код 100 раз.

Есть предложения?

Изменить:

Вот фрагмент фактического файла xml:

Dvaered -1000.000000 0 Empire 100.000000 2

Я хочу проверить, существует ли тег, и, если да, получить его содержимое.

Редактировать редактировать: Например, я хочу увидеть, существует ли тег в этом фрагменте:

Привет ...

Мне нужно проверить, существует ли определенный тег в XML-файле.

Например, я хочу посмотреть, существует ли тег в этом фрагменте:

 
Hi ...

В настоящее время я использую уродливый хак с проверкой ошибок, например этот:

try:
   if root.elem1.tag:
      foo = elem1
except AttributeError:
   foo = "error finding elem1"

Я также хочу настроить строку, если она не может чтобы найти узел (т.е. «невозможно найти -tagname-»).

Мне нужно проверить длинный список переменных, и я не хочу повторять код 100 раз.

Есть предложения?

Изменить:

Вот фрагмент фактического файла xml:

Dvaered -1000.000000 0 Empire 100.000000 2

Я хочу проверить, существует ли тег, и, если да, получить его содержимое.

Редактировать редактировать:

Мне нужно проверить, существует ли определенный тег в XML-файле.

Например, я хочу увидеть, существует ли тег в этом фрагменте:

 
Hi ...

В настоящее время я использую уродливый хак с проверкой ошибок, вот так:

try:
   if root.elem1.tag:
      foo = elem1
except AttributeError:
   foo = "error finding elem1"

Я также хочу настроить строку, если она не может найти узел (например, «невозможно найти -tagname-»).

Мне нужно проверить длинный список переменных, и я не хочу повторять код 100 раз.

Есть предложения?

Изменить:

Вот фрагмент фактического файла xml:

Dvaered -1000.000000 0 Empire 100.000000 2

Я хочу проверить, существует ли тег, и, если да, получить его содержимое.

Редактировать редактировать:

Мне нужно проверить, существует ли определенный тег в XML-файле.

Например, я хочу увидеть, существует ли тег в этом фрагменте:

 
Hi ...

В настоящее время я использую уродливый хак с проверкой ошибок, вот так:

try:
   if root.elem1.tag:
      foo = elem1
except AttributeError:
   foo = "error finding elem1"

Я также хочу настроить строку, если она не может найти узел (например, «невозможно найти -tagname-»).

Мне нужно проверить длинный список переменных, и я не хочу повторять код 100 раз.

Есть предложения?

Изменить:

Вот фрагмент фактического файла xml:

Dvaered -1000.000000 0 Empire 100.000000 2

Я хочу проверить, существует ли тег, и, если да, получить его содержимое.

Редактировать редактировать: Хорошо, я объединю два ответа, но могу проголосовать только за один. Извините.

Редактировать 3: Связанный вопрос о XPath здесь: Python lxml (objectify): Проблемы с Xpath

19
задан Community 23 May 2017 в 12:13
поделиться