Avatar billede stairway_to_heaven Nybegynder
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?
Avatar billede repox Seniormester
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);
  ...
Avatar billede stairway_to_heaven Nybegynder
22. oktober 2009 - 14:12 #2
repox > Dette giver desværre fejl.

cURL er aktiveret.
Avatar billede repox Seniormester
22. oktober 2009 - 14:20 #3
...

hvilken fejl giver det så?
Avatar billede stairway_to_heaven Nybegynder
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 :).
Avatar billede stairway_to_heaven Nybegynder
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");
Avatar billede stairway_to_heaven Nybegynder
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");
Avatar billede stairway_to_heaven Nybegynder
22. oktober 2009 - 14:35 #7
Det har dog heller ikke hjulpet på det oprindelige problem at den ikke vil hente xml resultatet
Avatar billede repox Seniormester
22. oktober 2009 - 14:41 #8
Hvor ligger problemet så - hos DOMDocument eller i cURL kaldet?
Altså, får cURL hentet XML'en?
Avatar billede stairway_to_heaven Nybegynder
22. oktober 2009 - 14:46 #9
Kan det have noget at gøre med enten encoding eller hjemmesiden den skal hente det fra?
Avatar billede stairway_to_heaven Nybegynder
22. oktober 2009 - 14:48 #10
Jeg har lavet en echo $xml inden DOM og den har intet hentet
Avatar billede stairway_to_heaven Nybegynder
22. oktober 2009 - 14:59 #11
Den anden hjemmeside kører i https kunne det sige noget?
Avatar billede repox Seniormester
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.
Avatar billede stairway_to_heaven Nybegynder
22. oktober 2009 - 15:26 #13
print_r(curl_info($ch)); < Virker ikke dog virkede

print_r($ch); < Det gav flg: Resource id #128
Avatar billede repox Seniormester
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);
Avatar billede stairway_to_heaven Nybegynder
22. oktober 2009 - 15:34 #15
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://127.0.0.1/prestashop/modules/pmtest/xml_beginner.xml");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$xml = curl_exec($ch);

print_r(curl_info($ch));

                 
$doc = new DOMDocument();
$doc->load($xml);
Avatar billede showsource Seniormester
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");
Avatar billede stairway_to_heaven Nybegynder
22. oktober 2009 - 15:48 #17
echo (ini_get("allow_url_fopen") ? "Ok" : "Nix");  Gav Ok
Avatar billede stairway_to_heaven Nybegynder
22. oktober 2009 - 15:49 #18
Denne xml parsing ligger inde i en if sætning, dette har vel intet at sige?
Avatar billede showsource Seniormester
22. oktober 2009 - 15:51 #19
Hvis der er kode du ikke viser, kan det sagtens ha' noget at sige :O)
Avatar billede stairway_to_heaven Nybegynder
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)
Avatar billede stairway_to_heaven Nybegynder
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?
Avatar billede stairway_to_heaven Nybegynder
22. oktober 2009 - 16:05 #22
Måske at jeg aktiverede cURL? :)!
Avatar billede showsource Seniormester
22. oktober 2009 - 16:19 #23
Måske du glemte at genstarte webserver så ?
Og ingen point til mig !!!
Avatar billede repox Seniormester
22. oktober 2009 - 22:00 #24
well, hvis min cURL løsning hjalp dig tager jeg dem gerne, ellers behold dem selv.
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