PHP - indlæs ekstern XML-fil
Jeg har behov for et php-program, der kan udtrække data fra eksterne XML-filer - aktuelt daglige valutakurser fra Nationalbanken: http://www.nationalbanken.dk/_vti_bin/DN/DataService.svc/CurrencyRatesXML?lang=da).Når jeg trækker print_r med denne kode:
------
$rod = simplexml_load_file ('http://www.nationalbanken.dk/_vti_bin/DN/DataService.svc/CurrencyRatesXML?lang=da');
echo "<pre>";
print_r($rod);
echo "</pre>";
------
får jeg denne oversigt:
SimpleXMLElement Object
(
[@attributes] => Array
(
[type] => Valutakurser
[author] => Danmarks Nationalbank
[refcur] => DKK
[refamt] => 1
)
[dailyrates] => SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => 2015-02-24
)
[currency] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[code] => AUD
[desc] => Australske dollar
[rate] => 510,61
)
)
[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[code] => BGN
[desc] => Bulgarske lev
[rate] => 381,40
)
)
...
...
...
[32] => SimpleXMLElement Object
(
[@attributes] => Array
(
[code] => ZAR
[desc] => Sydafrikanske rand
[rate] => 56,73
)
)
)
)
)
Jeg påregner, at programmet kan opbygges efter følgende koncept:
------
$rod = simplexml_load_file ('http://www.nationalbanken.dk/_vti_bin/DN/DataService.svc/CurrencyRatesXML?lang=da');
foreach()
{
if('dailyrates' == kode, der læser 'dailyrates' i filen)
{
$id = kode, der læser datoen;
echo $id . "<br />";
}
if ('[0)-[xxx]' == kode, der enkeltvis læser identerne 0-xxx i filen).
{
$code = kode, der læser valutaens kortnavn;
$desc = kode, der læser valutaens navn;
$rate = kode, der læser valutaens kurs;
echo $code . $desc . $rate . "<br />";
}
}
------
Når dataene er trukket ud af filen, har jeg ingen problemer med at bruge dem i et videre forløb.
Håber, der findes en løsning
hanibald