当xml标记丢失时,为什么在python脚本中返回NoneType
这是xml当xml标记丢失时,为什么在python脚本中返回NoneType,python,xsd,lxml,Python,Xsd,Lxml,这是xml <FILE> <FILE_NAME>Test1.fits</FILE_NAME> </FILE> <FILE> <FILE_NAME>Test2.fits</FILE_NAME> <RESTRICTED>1</RESTRICTED> </FILE> 上述方法可行,但看起来有些笨拙。但是我真正想要分配的是限制xml中的值(如果存在),或者限制
<FILE>
<FILE_NAME>Test1.fits</FILE_NAME>
</FILE>
<FILE>
<FILE_NAME>Test2.fits</FILE_NAME>
<RESTRICTED>1</RESTRICTED>
</FILE>
上述方法可行,但看起来有些笨拙。但是我真正想要分配的是限制xml中的值(如果存在),或者限制不存在的值为零。现在我在xsd中将它定义为一个整数,但我更希望它是布尔值,以便进行额外的检查。我尝试使用带有默认值的findtext,结果
回溯(最近一次呼叫最后一次):
文件“File\u tracking\u populator.py”,第185行,在
打印“isRestricted=”+str(isRestricted)
名称错误:未定义名称“IsResRestricted”
我尝试在xsd中设置一个默认值,但也没有成功
当我这么做的时候
isRestricted = file.findtext('RESTRICTED')
我得到
回溯(最近一次呼叫最后一次):
文件“File\u tracking\u populator.py”,第199行,在
(受限制);
类型错误:%d格式:需要数字,不是非类型
我做错了什么?也许“名称'isresrestricted'没有定义”,因为它拼写错误?这有帮助吗?
isRestricted=0
restricted = 0
fileName = file.findtext('FILE_NAME')
restricted = file.findtext('RESTRICTED')
if restricted is not None:
isRestricted = int(restricted)
isRestricted = file.findtext('RESTRICTED')