如何在存在时获取无命名空间的节点名称?
我有一个XML文件,我需要从中提取一些节点名称,但它里面有命名空间。请问有没有办法把命名空间去掉?比如:
XAddr = response.getElementsByTagNameNS('*', 'XAddr')
for addr in XAddr:
print addr.parentNode.tagName
打印出来的是:
tt:Device
tt:Events
tt:Imaging
tt:Media
tt:PTZ
我需要去掉tt:
这个部分,但它可能不存在,或者也可能是其他的东西。
1 个回答
1
使用 str.split
方法可以把一个标签名和(可选的)命名空间分开;只需要取最后一部分。
>>> 'tt:Device'.split(':')[-1] # with namespace
'Device'
>>> 'Device'.split(':')[-1] # without namespace
'Device'
把下面的内容替换为:
addr.parentNode.tagName
用:
addr.parentNode.tagName.split(':')[-1]