Avatar billede donslund Nybegynder
03. december 2010 - 10:54 Der er 8 kommentarer og
1 løsning

Læse XML der kommer via SOAP

Jeg henter noget XML med SOAP.
Men det xml der kommer retur (og som validerer korrekt) kan jeg ikke læse med eks. simpelxml.

Nogen gode bud?
Avatar billede majbom Novice
03. december 2010 - 11:37 #1
får du en fejl, eller?
Avatar billede donslund Nybegynder
03. december 2010 - 12:28 #2
Ja, i følgende kode får jeg "Failed loading XML"

$xml = simplexml_load_string($login->__getLastResponse());

if (!$xml) {
echo "Failed loading XML\n";
foreach(libxml_get_errors() as $error) {
echo "\t", $error->message;
}
}
Avatar billede majbom Novice
03. december 2010 - 13:34 #3
og hvordan strengen ud? evt bare et udsnit...
Avatar billede coderdk Praktikant
03. december 2010 - 16:07 #5
Prøv:

$xmlstring = preg_replace( "/(<\/?)(\w+):([^>]*>)/", "$1$2$3", $login->__getLastResponse() );
$xml = simplexml_load_string( $xmlstring );

Mener at simplexml er lidt underlig mht : i elementnavne
Avatar billede coderdk Praktikant
03. december 2010 - 16:21 #6
Ellers skal du prøve at angive NS:

$xml = simplexml_load_string ( $login->__getLastResponse(), "SimpleXMLElement", 0, "soap" );

eller prøve at fjerne dem:

$xml = simplexml_load_string ( $login->__getLastResponse(), "SimpleXMLElement", LIBXML_NSCLEAN );
Avatar billede arne_v Ekspert
03. december 2010 - 21:41 #7
Var det ikke bedre at bruge en SOAP extension og overlade al XML formateringen/parsningen til den?
Avatar billede donslund Nybegynder
10. marts 2011 - 14:28 #8
Må hellere få lukket.

Bruger nuSoap.

Smid et svar, hvem der vil have point.
Avatar billede arne_v Ekspert
10. marts 2011 - 14:43 #9
Det matcher vel mit forslag, så jeg smider et svar.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester