etree获取属性值而不是字符串
对于一个特定的元素,我想检查一下它的 xsi:nil
属性是否被设置为真。
我现在的代码是
xsinil = dataFact.get('{http://www.w3.org/2001/XMLSchema-instance}nil', False)
但是,xsinil 不是 True
,而是字符串类型...
有什么好的解决办法吗?我觉得这个方法不是很优雅:
xsinil=dataFact.get('{http://www.w3.org/2001/XMLSchema-instance}nil', False)
if xsinil == 'true' or xsinil == '1' :
xsinil = True
2 个回答
1
Element.get()
的第二个参数几乎没什么用,反正就是别用True
。
你只需要:
xsinil = dataFact.get('......') in ('true', '1')
1
这样看起来更好:
xsinil = dataFact.get('...', False) in ('true', '1')
只有当 get
函数的结果是 True
、'true'
或 '1'
其中之一时,才会把 True
赋值给 xsinil
这个变量。