22. oktober 2009 - 13:56
Der er
24 kommentarer
Xml parsing fra anden hjemmeside
Jeg forsøger at læse et xml resultat fra en en anden hjemmeside, dette giver dog intet svar. Det fungerer dog hvis jeg bruger en xml fil. Koden ser således ud: $xml = $EBaseURL.'?action=cancel&id=34209284&tick=924733824792837948237243234'; $doc = new DOMDocument(); $doc->load($xml); $medlemmer = $doc->getElementsByTagName('ewireResponse'); foreach ($medlemmer as $medlem) { foreach($medlem->childNodes as $elm) { if($elm->nodeName == 'actionResult') $navn = $elm->nodeValue; if($elm->nodeName == 'resultMessage') $adresse = $elm->nodeValue; } if ($navn == '0') { echo '<p style="color:#FF0000;">Status:'.$adresse.'</p>'; echo '<br />'; echo 'check<br />'; echo '<b>bla bla</b>'; } if ($navn == '1') { echo '<p style="color:#33CC33;">Status:'.$adresse.'</p>'; echo '<br />'; echo 'cancelled<br />'; echo '<b>blabla</b>'; } } Der sker bare intet, nogen der kan hjælpe mig dette problem?
Annonceindlæg fra Infor
22. oktober 2009 - 14:03
#1
Hent den ind med cURL?
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL $EBaseURL."?action=cancel&id=34209284&tick=924733824792837948237243234"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $xml = curl_exec($ch); $doc = new DOMDocument(); $doc->load($xml); ...
22. oktober 2009 - 14:12
#2
repox > Dette giver desværre fejl. cURL er aktiveret.
22. oktober 2009 - 14:20
#3
... hvilken fejl giver det så?
22. oktober 2009 - 14:30
#4
Det er et godt spørgsmål har desværre ikke mulighed for at lave et print på fejlbeskeden :).
22. oktober 2009 - 14:33
#5
Kan dog udlede af lidt udlukning at det handler om denne: curl_setopt($ch, CURLOPT_URL $EBaseURL."?action=cancel&id=34209284&tick=924733824792837948237243234");
22. oktober 2009 - 14:34
#6
Tror faktisk at der manglede et komma :). Så det bliver: curl_setopt($ch, CURLOPT_URL, $EBaseURL."?action=cancel&id=34209284&tick=924733824792837948237243234");
22. oktober 2009 - 14:35
#7
Det har dog heller ikke hjulpet på det oprindelige problem at den ikke vil hente xml resultatet
22. oktober 2009 - 14:41
#8
Hvor ligger problemet så - hos DOMDocument eller i cURL kaldet? Altså, får cURL hentet XML'en?
22. oktober 2009 - 14:46
#9
Kan det have noget at gøre med enten encoding eller hjemmesiden den skal hente det fra?
22. oktober 2009 - 14:48
#10
Jeg har lavet en echo $xml inden DOM og den har intet hentet
22. oktober 2009 - 14:59
#11
Den anden hjemmeside kører i https kunne det sige noget?
22. oktober 2009 - 15:22
#12
Du kunne prøve at lave print_r(curl_info($ch)); efter curl_exec($ch) og så vise mig den.
22. oktober 2009 - 15:26
#13
print_r(curl_info($ch)); < Virker ikke dog virkede print_r($ch); < Det gav flg: Resource id #128
22. oktober 2009 - 15:31
#14
Så er der en fejl i dit cURL kald. Du skulle gerne, uanset om du rammer noget eller ej, få noget retur på curl_info($ch);
22. oktober 2009 - 15:46
#16
Måske du ikke har mulighed for at åbne en url ? echo (ini_get("allow_url_fopen") ? "Ok" : "Nix");
22. oktober 2009 - 15:48
#17
echo (ini_get("allow_url_fopen") ? "Ok" : "Nix"); Gav Ok
22. oktober 2009 - 15:49
#18
Denne xml parsing ligger inde i en if sætning, dette har vel intet at sige?
22. oktober 2009 - 15:51
#19
Hvis der er kode du ikke viser, kan det sagtens ha' noget at sige :O)
22. oktober 2009 - 15:54
#20
Problemet lige pt. er i mine øjne at cURL ikke fungerer.
Omgår jeg cURL og gør laver en $xml = '
http://127.0.0.1/prestashop/modules/pmtest/xml_beginner.xml'; går den fint igennem, dette gør den ikke ved brug af cURL, men igen dette løser intet af det oprindelige og aktuelle problem :0)
22. oktober 2009 - 16:01
#21
Jeg beklager men af en eller anden grund virker det nu hvorfor kan jeg ikke svare på men det virker. Hmmmm....? Nogen der ønsker points?
22. oktober 2009 - 16:05
#22
Måske at jeg aktiverede cURL? :)!
22. oktober 2009 - 16:19
#23
Måske du glemte at genstarte webserver så ? Og ingen point til mig !!!
22. oktober 2009 - 22:00
#24
well, hvis min cURL løsning hjalp dig tager jeg dem gerne, ellers behold dem selv.
Vi tilbyder markedets bedste kurser inden for webudvikling