|
$xxx = simplexml_load_file( importeret XML-fil ); |
Selvom der er ret så stramme regler for, hvordan en XML-fil kan opbygges, kan der forekomme en del forskellige strukturelle kombinationer.
Kodemæssigt er det en udfordring at der er flere måder at håndtere kodningen på - ikke at der er flere måder at løse den samme situation på, men at der i betydelig udstrækning skal benyttes en specifik individuel motede for den enkelte strukturelle kombination.
Det synes at være en ufravigelig forudsætning for at få overblik over de forekommende strukturer i en XML-fil at den indledningsvis vises med 'print_r()'.
Al udtræk af data tager udgangspunkt i 'roden' (level 0) enten direkte eller via 'tagstier' (level 1 - x).
Ved kodning skal tagnavne der indeholder '-' (bindestreg) kodes som {'tag-navn'}.
// print_r $rod = simplexml_load_file('http://www.nationalbanken.dk/_vti_bin/DN/DataService.svc/CurrencyRatesXML?lang=da'); echo "<pre>"; print_r($rod); echo "</pre>"; |
Selvom XML-dataene kan udtrækkes til en variabel med individuelt navn er alle udtræk nedenfor foretaget til '$rod'.
Nedenfor er vist en række typiske strukturer og den kode der skal benyttes for at hente deres data:
![]() |
$rod = simplexml_load_file("http://www.nationalbanken.dk/_vti_bin/DN/DataService.svc/CurrencyRatesXML?lang=da"); echo $rod['type']. "<br />"; echo $rod['author']. "<br />"; echo $rod['refcur']. "<br />; echo $rod['refamt']. "<br />"; |
![]() |
$rod = implexml_load_file("http://www.nationalbanken.dk/_vti_bin/DN/DataService.svc/CurrencyRatesXML?lang=da"); foreach ($rod->dailyrates->currency as $curr) { echo $curr->attributes()->code. "<br />"; echo $curr->attributes()->desc. "<br />"; echo $curr->attributes()->rate. "<br />"; } |
![]() |
$rod = simplexml_load_file('http://www.hvemstemmerhvad.dk/api/api_politikere.php'); foreach($rod -> politiker as $polit){ echo $polit -> mp_id_hvh . "<br />"; echo $polit -> party_id_hvh . "<br />"; echo $polit -> link_hvh . "<br />"; echo $polit -> acronym_ft . "<br />"; echo $polit -> fulde_navn . "<br />"; echo $polit -> valgkreds_hvh . "<br />"; echo $polit -> email . "<br />"; echo $polit -> birthday . "<br />"; echo $polit -> active . "<br />"; echo $polit -> adresse . "<br />"; echo $polit -> homepage . "<br />"; echo $polit -> twitter . "<br />"; echo $polit -> position . "<br />"; echo $polit -> personal_votes . "<br />"; } |
![]() |
$rod = simplexml_load_file('https://www.quandl.com/api/v1/datasets/DOE/RBRTE.xml'); echo $rod -> id . "<br />"; echo $rod -> {'source-name'} . "<br />"; echo $rod -> {'source-code'} . "<br />"; echo $rod -> code . "<br />"; echo $rod -> name . "<br />"; echo $rod -> {'urlize-name'} . "<br />"; echo $rod -> {'display-url'} . "<br />"; echo $rod -> description . "<br />"; echo $rod -> {'updated-at'} . "<br />"; echo $rod -> frequency . "<br />"; echo $rod -> {'from-date'} . "<br />"; echo $rod -> {'to-date'} . "<br />"; |