Autor Zpráva
quatzael
Profil
Potřeboval bych rozparsovat SOAP response. Zjistil jsem, že na to neexistují žádné nástroje a SoapClienta použít nemůžu, protože neumožňuje nastavit header.

Jde mi o to jak zbavit response všech možných atributů a jmenných prostorů, tzn. jak z takovýhle hrůzy udělat jednoduchej tag:

Vstup:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://xxx.company.com" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

Výsledek:
<Envelope>



Ně kde na netu jsem našel tenhle regulární výraz, ale bohužel nefunguje:

$response = preg_replace("/(<\/?)(\w+):([^>]*>)/", "$1$2$3", $response);
abc
Profil
Co třeba str_replace($hruza, $mensiHruza, $response)?
quatzael
Profil
abc:
No jo, ale já přece nemůžu vypisovat takhle desítky atributů, a když přijde response s nějakým novým atributem tak to celý spadne..

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: