2011-06-21 11 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') 

get関数の結果はTrue'true'または'1'の一つである場合にのみ、それはTruexsinilに変数を割り当てます。

+0

-1 'Element.get(ATTRIBUTE_NAMEは、False)が' true'を –

+0

が同意 '返すことはありません、最終的な答えは、「(' xsinil = dataFact.getになります...... ')(中'「、 '真1') ' – rds

+0

@rds:だからこの回答unacceptと私を受け入れます。 –

1

Element.get()の第二引数はほとんど無関係である - ちょうどTrueを使用しないでください。

あなたが必要とするすべては、次のとおりです。

xsinil = dataFact.get('......') in ('true', '1') 
関連する問題