2014-07-08 317 views
0

我有一個xml,從中我需要解析一些節點名稱,但它是與命名空間,ir它可能以某種方式刪除它?例如:如果沒有命名空間,如何獲取節點名稱?

XAddr = response.getElementsByTagNameNS('*', 'XAddr') 

for addr in XAddr: 
    print addr.parentNode.tagName 

打印:

tt:Device 
tt:Events 
tt:Imaging 
tt:Media 
tt:PTZ 

我需要刪除tt:,但它也可能不存在或存在別的東西。

回答

1

使用str.split來從(可選的)命名空間中分離標籤名稱;拿最後一部分。

>>> 'tt:Device'.split(':')[-1] # with namespace 
'Device' 
>>> 'Device'.split(':')[-1] # without namespace 
'Device' 

替換以下:

addr.parentNode.tagName 

有:

addr.parentNode.tagName.split(':')[-1] 
相關問題