etree получить атрибут в виде значения вместо строки - PullRequest
2 голосов
/ 21 июня 2011

Для данного элемента я хочу проверить, установлено ли для атрибута xsi:nil значение true.

Мой текущий код

xsinil = dataFact.get('{http://www.w3.org/2001/XMLSchema-instance}nil', False)

Но вместо True xsinil имеет тип string ...

Какое лучшее решение? Я не думаю, что это очень элегантно:

xsinil=dataFact.get('{http://www.w3.org/2001/XMLSchema-instance}nil', False)
if xsinil == 'true' or xsinil == '1' :
    xsinil = True

Ответы [ 2 ]

1 голос
/ 21 июня 2011

Второй аргумент Element.get() почти не имеет значения - просто не используйте True.

Все, что вам нужно:

xsinil = dataFact.get('......') in ('true', '1')
1 голос
/ 21 июня 2011

Это выглядит лучше:

xsinil = dataFact.get('...', False) in ('true', '1')

Она присваивает True переменной xsinil, только если результатом функции get является одно из True, 'true' или '1'.

...