Как проверить, существует ли атрибут в некотором XML

У меня есть некоторый XML, который я анализирую в python через lxml.

Я сталкиваюсь с ситуациями, когда некоторые элементы имеют атрибуты, а некоторые нет.

Мне нужно их извлечь, если они существуют, но пропустить, если их нет -В настоящее время я приземляюсь с ошибками (поскольку мой подход неверен...)

Я развернул testfornull, но это работает не во всех случаях:

Код:

if root[0][a][b].attrib == '<>': 
 ByteSeqReference = "NULL"
else:
 ByteSeqReference = (attributes["Reference"])

XML A:

<ByteSequence Reference="BOFoffset">

XML B:

<ByteSequence Endianness = "little-endian" Reference="BOFoffset">

XML C:

<ByteSequence Endianness = "little-endian">

XML D:

 <ByteSequence>

Мой текущий метод может работать только с A, B или D. Он не могу справиться с C.

12
задан Jay 11 April 2012 в 23:29
поделиться