Hallo allerseits,
ich beschäftige mich nun seit ein paar Monaten damit aus verschiedenen frei zugänglichen Datenquellen statistische Daten zu sammeln und in eine Datenbank zu bringen. Ich habe den Import von Json und CSV-Files mit PHP schon erfolgreich durchgeführt, scheitere und verzweifele nun aber an den Daten von Eurostat (europäische Statistikbehörde) Die Daten liegen hier leider nur umständlich in XML Files und hier liegt das Problem. Ich bekomme einfach nicht die Daten von der URL ordentlich heruntergeladen und dann auch noch ausgelesen
Die XML Datei ist folgende:
http://ec.europa.eu/eurostat/SDMX/di...endPeriod=2015
Zum Download habe ich zuerst das hier versucht:
Das liefert mir ein "Access Denied". Ich nehme an das liegt an Eurostat.
Wenn ich es so versuche:
Dann bekomme ich folgende Fehlermeldung:
Warning: simplexml_load_file(http://ec.europa.eu/eurostat/SDMX/di...dPeriod=2015): failed to open stream: HTTP request failed! HTTP/1.1 502 Bad Gateway in /www/htdocs/w0121ba0/XMLLOAD.php on line 64
Warning: simplexml_load_file(): I/O warning : failed to load external entity "http://ec.europa.eu/eurostat/SDMX/diss-web/rest/data/nama_gdp_c/.MIO_EUR.B1GM.BE/?startperiod=1990&endPeriod=2015" in /www/htdocs/w0121ba0/XMLLOAD.php on line 64
Habt Ihr hierzu irgendwelche Ideen wie ich einfach dieses verfluchte File zu mir bekomme
?
Da das nicht funktionierte habe ich versucht einen Schritt zu überspringen, und mich die letzten Tage daran versucht lokale, schon gespeicherte XML Dateien auszulesen, bin daran aber auch kläglich gescheitert. Egal wie ich es versuche den Inhalt mit echo auszugeben, es kommt immer ein leeres Objekt oder gar nichts. Könntet ihr mir hier einen Hinweis geben, wie ich bei der verlinkten XML Datei vorgehen muss? Ich brauche nur die Werte "ObsDimension und die ObsValue Werte", alles andere in der Datei interessiert mich nicht. Ich will also einfach eine Schleife haben die die Oberservations durchläuft und mir in ein Array schiebt welches ich dann problemlos in eine Datenbank bekomme.
Einer meiner Versuche war unter anderem folgender:
hier kommt aber nichts bei raus. Ich nehme an ich mache was bei simplexml_load_file falsch. In der Dokumentation steht ja noch etwas über class_name, options, ns und is_prefix . Ich kann damit aber als Anfänger leider nicht soviel anfangen.
Wäre super wenn ihr mir auch hier auf die Sprünge helfen könntet!
Vielen Dank
VG Sebastian
ich beschäftige mich nun seit ein paar Monaten damit aus verschiedenen frei zugänglichen Datenquellen statistische Daten zu sammeln und in eine Datenbank zu bringen. Ich habe den Import von Json und CSV-Files mit PHP schon erfolgreich durchgeführt, scheitere und verzweifele nun aber an den Daten von Eurostat (europäische Statistikbehörde) Die Daten liegen hier leider nur umständlich in XML Files und hier liegt das Problem. Ich bekomme einfach nicht die Daten von der URL ordentlich heruntergeladen und dann auch noch ausgelesen

Die XML Datei ist folgende:
http://ec.europa.eu/eurostat/SDMX/di...endPeriod=2015
Zum Download habe ich zuerst das hier versucht:
PHP-Code:
$url = 'http://ec.europa.eu/eurostat/SDMX/diss-web/rest/data/nama_gdp_c/.MIO_EUR.B1GM.BE/?startperiod=1990&endPeriod=2015';
function get_data($url) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$returned_content = get_data($url);
print_r ($returned_content);
Wenn ich es so versuche:
PHP-Code:
$url = 'http://ec.europa.eu/eurostat/SDMX/diss-web/rest/data/nama_gdp_c/.MIO_EUR.B1GM.BE/?startperiod=1990&endPeriod=2015';
$xml = simplexml_load_file($url);
Warning: simplexml_load_file(http://ec.europa.eu/eurostat/SDMX/di...dPeriod=2015): failed to open stream: HTTP request failed! HTTP/1.1 502 Bad Gateway in /www/htdocs/w0121ba0/XMLLOAD.php on line 64
Warning: simplexml_load_file(): I/O warning : failed to load external entity "http://ec.europa.eu/eurostat/SDMX/diss-web/rest/data/nama_gdp_c/.MIO_EUR.B1GM.BE/?startperiod=1990&endPeriod=2015" in /www/htdocs/w0121ba0/XMLLOAD.php on line 64
Habt Ihr hierzu irgendwelche Ideen wie ich einfach dieses verfluchte File zu mir bekomme

Da das nicht funktionierte habe ich versucht einen Schritt zu überspringen, und mich die letzten Tage daran versucht lokale, schon gespeicherte XML Dateien auszulesen, bin daran aber auch kläglich gescheitert. Egal wie ich es versuche den Inhalt mit echo auszugeben, es kommt immer ein leeres Objekt oder gar nichts. Könntet ihr mir hier einen Hinweis geben, wie ich bei der verlinkten XML Datei vorgehen muss? Ich brauche nur die Werte "ObsDimension und die ObsValue Werte", alles andere in der Datei interessiert mich nicht. Ich will also einfach eine Schleife haben die die Oberservations durchläuft und mir in ein Array schiebt welches ich dann problemlos in eine Datenbank bekomme.
Einer meiner Versuche war unter anderem folgender:
PHP-Code:
if (file_exists('test.xml')) {
$xml = simplexml_load_file('test.xml');
echo $xml->GenericData->DataSet->Series;
} else {
exit('Konnte test.xml nicht öffnen.');
}
Wäre super wenn ihr mir auch hier auf die Sprünge helfen könntet!
Vielen Dank
VG Sebastian
Kommentar