我有 3 個檔案 xsd,一個帶有 minVersion = 1.1,第二個帶有 minVersion = 1.0,另一個沒有 minVersion 元素。我從前兩個獲取元素資料,但第三個不回傳任何內容,甚至不回傳“無”。如何處理?
我的代碼:
import lxml.etree as ET
dom = ET.parse(u'cbs.xsd')
rootxml = dom.getroot()
nss = rootxml.nsmap
for subtag in rootxml.xpath(u'//@vc:minVersion', namespaces=nss):
print(subtag)
if subtag == '1.1':
print('Found! 1.1 version')
elif subtag == '1.0':
print('Found! 1.0 version')
else:
print('not found')
正如我上面所說,我希望當 vc:minVersion 沒有找到時,它甚至會回傳一些東西。
uj5u.com熱心網友回復:
你的 for 回圈沒有被輸入,因為 rootxml.xpath 沒有找到任何東西。嘗試這個:
import lxml.etree as ET
dom = ET.parse(u'cbs.xsd')
rootxml = dom.getroot()
nss = rootxml.nsmap
for subtag in rootxml.xpath(u'//@vc:minVersion', namespaces=nss):
print(f'Found! {subtag} version')
break
else:
print('not found')
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/527428.html
