PHP og XML: Hvordan trekke ut informasjon fra api?

Regulæruttrykk, objektorientering, samt problemstillinger omkring optimalisering og sikkerhet.

PHP og XML: Hvordan trekke ut informasjon fra api?

Innlegg Luna » 05.02.2014 12:38

Jeg er visst blitt fryktelig fan av «learning by doing» filosofien om dagen. Og denne gangen forsøker jeg å trekke ut xml informasjon fra billettportalen's api og inn på en nettside. Jeg har klart å hente ut noe informasjon her, men siden jeg også er nybegynner i PHP så sliter jeg litt med å vite hvordan jeg skal formulere koden for å få til resultatet jeg er ute etter.

Her er et eksempel på xml'en jeg henter ut informasjonen fra:

Kode: Merk alt

<event id="15508" url="http://www.billettportalen.no/referer/?r=377ef9d64990472496b5e854a1a4a89d&p=/kjoep/billetter/15508/">
   <name>Musikk- og kulturskolens festforestilling</name>
      
         <eventtype id="4" url="http://www.billettportalen.no/referer/?r=377ef9d64990472496b5e854a1a4a89d&p=/annet/">
            <name>Annet</name>
         </eventtype>
         
         <categories>
            <category id="8" name="Rock"/>
            <category id="9" name="Pop"/>
            <category id="28" name="Hip Hop"/>
            <category id="34" name="Elektronisk musikk"/>
            <category id="37" name="Ballett"/>
            <category id="40" name="Dans"/>
         </categories>
         
          <images thumb="http://static.billettportalen.no/images/events/s/100/45/15508.jpg" small="http://static.billettportalen.no/images/events/s/15508.jpg" big="http://static.billettportalen.no/images/events/b/15508.jpg"/>
         
         <eventdate id="26801" url="http://www.billettportalen.no/referer/?r=377ef9d64990472496b5e854a1a4a89d&p=/kjoep/billetter/15508/26801/">
            <name>Musikk- og kulturskolen - lukket skoleforestilling</name>
            <startdate>2014-02-03T10:30:00</startdate>
            <price/>
            <salestatus>4</salestatus>
            <venue id="1139">
               <name>Bærum Kulturhus</name>
               <location id="0"><name>Unknown</name></location>
               <hall><name>Store Sal</name></hall>
            </venue>
         </eventdate>
</event>


Sånn ser PHP koden min ut så langt:

Kode: Merk alt
<?php
    // Loading the XML file
    $xml = simplexml_load_file("http://www.billettportalen.no/api/event/dates/?apikey=min demonøkkel");
    echo "<h2>".$xml->getName()."</h2><br />";
    foreach($xml->children() as $event)
    {
echo '<div class="box">';
echo "Navn : " , '<p class="event-header">' .$event->name." </p>";
echo '<p>' , "Type arrangement : " .$event->eventtype[0]->name." <br />";
echo "Kategorier : ".$event->categories[0]->category." <br />";
echo "Sted : ".$event->eventdate[0]->venue[0]->name." <br />";
echo "Sal : ".$event->eventdate[0]->venue[0]->hall[0]->name." <br />";
echo "Dato og klokkeslett : ".$event->eventdate[0]->startdate." <br />";
echo "Pris : ".$event->eventdate[0]->price." <br />";
echo "Bilde : ".$event->images[0]->small."<br />";
echo "Kjøp billett " , "</p>" ;
echo '</div>';
    }
?>


Og slik ser det ut i nettleseren så langt:


Bilde

Jeg håper derfor noen her kan være litt behjelpelige med å se på de jeg står fast på :)

1. Kjøp Billett: Hvordan gjør jeg dette om til en link i PHP koden min?
<event id="15508" url="http://www.billettportalen.no/referer/?r=377ef9d64990472496b5e854a1a4a89d&p=/kjoep/billetter/15508/">

2. Kategorier: hvordan henter jeg ut id og får dem ut som liste?
<category id="8" name="Rock"/><category id="9" name="Pop"/> .....

3. Hvordan får jeg frem bilde?
<images thumb="http://static.billettportalen.no/images/events/s/100/45/15508.jpg" small="http://static.billettportalen.no/images/events/s/15508.jpg" big="http://static.billettportalen.no/images/events/b/15508.jpg"/>

4. Hvordan kan jeg få datoen OG tiden ut i et annet format (og eventuelt dele det opp)?
For eksempe til å se slik ut: Fre 07.Feb Kl. 20:00 og IKKE slik 2014-02-07T20:00:00


Ville blitt utrolig glad for alle input om hvordan jeg løser de problemstillingene som jeg har nevnt over. Jeg vet jeg har en lei tendens til å ta meg vann over hode, men det er jo sånn en lærer, ved å utfordre seg selv litt ;) .
Brukerens avatar
Luna
Medlem
 
Innlegg: 121
Registrert: 06.11.2007 12:01
Bosted: I Vestfold et sted

Re: PHP og XML: Hvordan trekke ut informasjon fra api?

Innlegg Nukleuz » 05.02.2014 12:56

1. http://www.php.net/manual/en/simplexmle ... ibutes.php
2. Samme som 1.
3. Samme som 2.
4. Se DateTime; http://no1.php.net/manual/en/class.datetime.php

....så får du utfordre deg. Si fra om du ønsker kode.
Mvh
Joachim M. Giæver
http://development.giaever.org
Brukerens avatar
Nukleuz
Seniormedlem
 
Innlegg: 1659
Registrert: 09.12.2006 2:08
Bosted: Tromsø

Re: PHP og XML: Hvordan trekke ut informasjon fra api?

Innlegg Luna » 11.02.2014 19:45

Nukleuz skrev:1. http://www.php.net/manual/en/simplexmle ... ibutes.php
2. Samme som 1.
3. Samme som 2.
4. Se DateTime; http://no1.php.net/manual/en/class.datetime.php

....så får du utfordre deg. Si fra om du ønsker kode.


Hehe, jo takk. Skal se på dette når jeg får litt mer tid!

Men takk for at du peker ut veien ;)
Brukerens avatar
Luna
Medlem
 
Innlegg: 121
Registrert: 06.11.2007 12:01
Bosted: I Vestfold et sted

Re: PHP og XML: Hvordan trekke ut informasjon fra api?

Innlegg HelgeSverre » 27.05.2014 13:51

Skrev en tutorial om hvordan man parser XML og "echoer" det ut på siden.
tada: http://helgesverre.com/blog/how-to-parse-xml-in-php/
:: Web Utvikler ::
www.HelgeSverre.no
Brukerens avatar
HelgeSverre
Nytt medlem
 
Innlegg: 11
Registrert: 27.05.2014 10:57
Bosted: Svelgen

Re: PHP og XML: Hvordan trekke ut informasjon fra api?

Innlegg Luna » 25.08.2014 9:22

HelgeSverre skrev:Skrev en tutorial om hvordan man parser XML og "echoer" det ut på siden.
tada: http://helgesverre.com/blog/how-to-parse-xml-in-php/


Supre greier, tusen takk :D . Er herved lagt til i bokmerker!
Brukerens avatar
Luna
Medlem
 
Innlegg: 121
Registrert: 06.11.2007 12:01
Bosted: I Vestfold et sted

Re: PHP og XML: Hvordan trekke ut informasjon fra api?

Innlegg HelgeSverre » 04.09.2014 15:51

Luna skrev:
HelgeSverre skrev:Skrev en tutorial om hvordan man parser XML og "echoer" det ut på siden.
tada: http://helgesverre.com/blog/how-to-parse-xml-in-php/


Supre greier, tusen takk :D . Er herved lagt til i bokmerker!


Bare hyggelig ^^
:: Web Utvikler ::
www.HelgeSverre.no
Brukerens avatar
HelgeSverre
Nytt medlem
 
Innlegg: 11
Registrert: 27.05.2014 10:57
Bosted: Svelgen


Gå til Avansert PHP

Hvem er i forumet

Brukere som leser i dette forumet: Ingen registrerte brukere og 4 gjester