2014-07-08 2 views
0

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

str.split을 사용하여 태그 네임을 (선택적) 네임 스페이스에서 분리 할 수 ​​있습니다. 마지막 부분을 가져 가라.

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

은 다음 바꾸기 :

addr.parentNode.tagName 

로 :

addr.parentNode.tagName.split(':')[-1] 
관련 문제