2011-06-21 111 views
2

對於給定的元素,我想檢查xsi:nil屬性是否設置爲true。etree獲取屬性作爲值而不是字符串

我當前的代碼是

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

但不是被True XSINIL爲字符串類型...

什麼是最好的解決方案?我不認爲這是非常優雅:

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

回答

1

這看起來更好:

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

它指定Truexsinil變量只有get功能的結果是True'true''1'之一。

+0

-1'Element.get(屬性名稱,假)'將永遠不會返回TRUE; –

+0

同意,最終的答案將是'XSINIL = dataFact.get(」 ......')in('true','1')' – rds

+0

@rds:所以不接受這個答案並接受我的。 –

1

Element.get()的第二個參數幾乎無關緊要 - 只是不要使用True

所有你需要的是:

xsinil = dataFact.get('......') in ('true', '1') 
相關問題