Gå til innhold

Får ikke vist XML data


Anbefalte innlegg

Hei, jeg skal ha hentet informasjon fra et en xml fil som er generert via php.

 

Jeg prøver å hente informasjonen som er generert på denne siden http://dx.no/ebillett/dx_forestillinger.php?p_id=1005&type=XML for å kunne vise dette på hjemmesiden min.

 

Det jeg ønsker er å hente ut teksten som ligger i elementet MovieTitle, men jeg får det ikke til å fungere med det scriptet jeg bruker nå. Problemet er at alt innholdet i elementene blir skrevet ut, men jeg ønsker kun å skrive ut innholdet fra noen elementer.

Kan noen ta en titt på det og se hva som er feilen.

 

<?php
//Initialize the XML parser
$parser=xml_parser_create();

//Function to use at the start of an element
function start($parser,$element_name,$element_attrs)
 {
 switch($element_name)
   {
   case "MovieTitle":
   echo "";
   break;
   case "ShowDate":
   echo "";
   break;
   case "TicketURL":
   echo "";
   break;
   case "ShowTime":
   echo "";

   }
 }

//Function to use at the end of an element
function stop($parser,$element_name)
 {
 echo "<br />";
 }

//Function to use when finding character data
function char($parser,$data)
 {
 echo $data;
 }

//Specify element handler
xml_set_element_handler($parser,"start","stop");

//Specify data handler
xml_set_character_data_handler($parser,"char");

//Open XML file
$fp=fopen("http://dx.no/ebillett/dx_forestillinger.php?p_id=1005&type=XML","r");

//Read data
while ($data=fread($fp,4096))
 {
 xml_parse($parser,$data,feof($fp)) or 
 die (sprintf("XML Error: %s at line %d", 
 xml_error_string(xml_get_error_code($parser)),
 xml_get_current_line_number($parser)));
 }

//Free the XML parser
xml_parser_free($parser);
?>

Tusen takk

Endret av lars91
Lenke til kommentar
Videoannonse
Annonse

Det ser bra ut. Problemet mitt er at jeg med denne ikke klarer å hente ut noen verdier. Kan godt være at det er mine manglende kunnskaper, men hadde vært strålende med litt ekspertisehjelp :)

Jeg prøvde med koden som du linket til og prøvde å få dette til å fungere uten veldig stort hell.

 

Jeg får printet ut arrayet med [MovieTitle] => SimpleXMLElement Object, men jeg får ikke noe data med foreach løkken.

<?php
$xml=simplexml_load_file("http://dx.no/ebillett/dx_forestillinger.php?p_id=1005&type=XML");
echo "<pre>"; print_r($xml); echo "</pre>";


foreach($xml->channel->item as $property=>$value)
{
echo "<br>data source: ".$value->MovieTitle;
echo "<br>message: ".$value->TicketURL;
}

?>

Endret av lars91
Lenke til kommentar

Det er ikke rart om du copy og paster. Feks er det ingenting i din xmlfil som heter "item", men "Show" istedet. Jeg kan det ikke selv, men får det alltid til ved å prøve meg frem.

echo "<pre>"; print_r($xml); echo "</pre>; er en god venn. Der ser du om du skal bruke objekt->property (for egenskap, evt underegenskap) eller property["elementnavn"] for arrays.

Lenke til kommentar
Gjest Slettet-rXRozPkg

Ut i fra den XML-en du har angitt:

foreach($xml->Show as $show) {
 echo "Tittel: ".$show->MovieTitle."<br />";
 echo "URL: ".$show->TicketURL."<br />";
}

Endret av Slettet-rXRozPkg
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...