如果没有命名空间,如何获取节点名称?

时间:2014-07-08 13:10:17

标签: python python-2.7 minidom

我有一个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 个答案:

答案 0 :(得分:1)

使用str.split从(可选)命名空间中拆分标记名称;采取最后一部分。

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

替换以下内容:

addr.parentNode.tagName

使用:

addr.parentNode.tagName.split(':')[-1]