Как удалить ярлыки пространства имен при разборе SOAP как XML в PHP?
Например, у меня есть такая строка:
<SOAP-ENV:Body>
<d:ProbeMatches>
<d:ProbeMatch>
<d:Types>dn:NetworkVideoTransmitter</d:Types>
<d:Scopes>onvif://www.onvif.org/Profile/Streaming onvif://www.onvif.org/type/video_encoder onvif://www.onvif.org/type/audio_encoder onvif://www.onvif.org/hardware/IPCAM onvif://www.onvif.org/name/IPNC onvif://www.onvif.org/location/</d:Scopes>
<d:XAddrs>http://192.168.0.36:8080/onvif/device_service</d:XAddrs>
<d:MetadataVersion>1</d:MetadataVersion>
</d:ProbeMatch>
</d:ProbeMatches>
</SOAP-ENV:Body>
И мне нужно преобразовать его в array
так что я использую simplexml_load_string
, но главная проблема в том, что результат может быть разным... В одном случае это может быть <d:Types>
, в других <Types xmlns=".*">
или некоторые другие сочетания клавиш, которые полностью появляются в ключах, и мне нужно получить адрес как ['ProbeMatches']['ProbeMatch']['XAddrs']