etree获取属性值而不是字符串

2 投票
2 回答
514 浏览
提问于 2025-04-16 19:59

对于一个特定的元素,我想检查一下它的 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 这个变量。

撰写回答