Herzlich willkommen im Archiv vom ABAKUS Online Marketing Forum
Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.
Sinnvollerweise würde ich die XML Daten einlesen und in eine mySQL Datenbank übertragen und dies als CRON Job installieren.johnny44 hat geschrieben:Hallo,
ich möchte Daten aus folgender XML auslesen und auf meiner Website einfügen.
XML: https://www.pegelonline.wsv.de/svgz/peg ... de_neu.xml
Es handelt sich um Wasserstände verschiedener Flüsse von PegelOnline.
Ich möchte aus dem XML-File nur einen Wasserstand auslesen z.B. nur ELBE in DRESDEN mit Datum/Zeit und Wasserstand und dann als Text auf meiner Website einfügen
Ich hab schon Stunden probiert und bekomms einfach nicht hin, bin mit PHP und XML nicht so vertraut.
Kann mir jemand helfen?
P.S. Ja es ist erlaubt, diese Daten auszulesen siehe https://www.pegelonline.wsv.de/webservice/ueberblick
So kompliziert über eine Datenbank braucht es nicht sein. Es reicht ein simpler Aufruf per PHP, der den aktuellen Wert als Text ausgibt.Sinnvollerweise würde ich die XML Daten einlesen und in eine mySQL Datenbank übertragen und dies als CRON Job installieren.
Der gefilterte Zugriff auf die Datenbank erlaubt dann auch eine statistische Auswertung (Tabelle und/oder Graphik) Der Aktuelle Wert kann über eine simple PHP API graphisch oder als Text dargestellt werden.
Ohne solide PHP Kenntnisse ist dies allerdings sehr schwierig
Bitte kontaktiere mich per PM, ich bin gerne bereit gegen eine angemessene und günstige Bezahlung die API zu programmieren.johnny44 hat geschrieben:So kompliziert über eine Datenbank braucht es nicht sein. Es reicht ein simpler Aufruf per PHP, der den aktuellen Wert als Text ausgibt.Sinnvollerweise würde ich die XML Daten einlesen und in eine mySQL Datenbank übertragen und dies als CRON Job installieren.
Der gefilterte Zugriff auf die Datenbank erlaubt dann auch eine statistische Auswertung (Tabelle und/oder Graphik) Der Aktuelle Wert kann über eine simple PHP API graphisch oder als Text dargestellt werden.
Ohne solide PHP Kenntnisse ist dies allerdings sehr schwierig
Leider hab ichs bisher nicht hinbekommen. Kennt jemand eine Plattform, wo man gegen etwas Kohle einen Programmierer beauftragen kann, das sollte doch für einen der sich mit PHP etwas auskennt kein Problem sein.
PHP 5.3, einfaches Hosting-Paket bei Goneo.Ich müsste folgendes vorab wissen:
- Was ist die Hostumgebung (UNIX / WIN, welche Version PHP, etc.)?
- Dedicated / Virtual Server?
Code: Alles auswählen
<?php
$xref = simplexml_load_file('http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml');
$nodes = $xref->xpath('.//*[@currency="USD"]');
echo '1 Euro = '.$nodes[0]['rate'].' US-Dollar';
?>
Nette Art um Hilfe zu fragen ...johnny44 hat geschrieben:PHP 5.3, einfaches Hosting-Paket bei Goneo.Ich müsste folgendes vorab wissen:
- Was ist die Hostumgebung (UNIX / WIN, welche Version PHP, etc.)?
- Dedicated / Virtual Server?
Für was brauchts du diese Angaben? Es müsste doch mit 2-3 Zeilen PHP-Code funktionieren um Daten aus einer XML-Datei auszulesen.
Bei der ECB-XML-Datei zum Beispiel lese ich den Euro/Dollar-Kurs mit drei Zeilen PHP aus, da ist es genau das gleiche. nur dass da die XML-Datei einfacher aufgebaut ist.Also müsste es doch auch bei PEGELONLINE mit ein paar Zeilen funktionieren. Doch leider ist diese XML-Datei komplizierter aufgebautCode: Alles auswählen
<?php $xref = simplexml_load_file('http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml'); $nodes = $xref->xpath('.//*[@currency="USD"]'); echo '1 Euro = '.$nodes[0]['rate'].' US-Dollar'; ?>
Code: Alles auswählen
<?php
$out = '';
function _PRS($str) {
return(iconv("UTF-8","ISO-8859-1//TRANSLIT",$str));
}
try {
$xref = simplexml_load_file('http://www.pegelonline.wsv.de/svgz/pegelstaende_neu.xml');
foreach ($xref->table->gewaesser as $value) {
if (_PRS($value->name) == 'ELBE') {
foreach ($value->item as $items) {
if (_PRS($items->pegelname) == 'DRESDEN') {
$out .= "<table>\n";
$out .= "<tr><td>Pegelname:</td><td>"._PRS($items->pegelname)."</td></tr>\n";
$out .= "<tr><td>Messwert:</td><td>"._PRS($items->messwert)."</td></tr>\n";
$out .= "<tr><td>km:</td><td>"._PRS($items->km)."</td></tr>\n";
$out .= "<tr><td>pnp:</td><td>"._PRS($items->pnp)."</td></tr>\n";
$out .= "<tr><td>Tendenz:</td><td>"._PRS($items->tendenz)."</td></tr>\n";
$out .= "<tr><td>Datum:</td><td>"._PRS($items->datum)."</td></tr>\n";
$out .= "<tr><td>Uhrzeit:</td><td>"._PRS($items->uhrzeit)."</td></tr>\n";
$out .= "</table>\n";
break;
}
}
break;
}
}
if ($out == '') {
$out = "No Data";
}
} catch (Exception $e) {
$out = "No Data";
}
echo($out);
?>
klar, wenn du das ganze nun nur als Übung machst und eh nicht vorhast das auf deiner Webseite einzubauen.... oder du von vornherein weist das du eh nie viel Traffic haben wirst.... dann kannste natürlich bei jedem Seitenaufruf die Daten aktuell auslesen....johnny44 hat geschrieben:.... Es reicht ein simpler Aufruf per PHP, der den aktuellen Wert als Text ausgibt....
ist nicht viel traffic, ist nur für unsere Vereins-Website... oder du von vornherein weist das du eh nie viel Traffic haben wirst....
Abraxas hat geschrieben:Hab deinen Code mal bei mir eingebunden und als php-datei aufn webserver gelegt. passiert aber nichts beim laden, die datei bleibt leer. Kannst du mir bitte sagen woran das liegt? Danke vielmalsjohnny44 hat geschrieben:
check this out: https://www.vxnic.com/test/ (incl. html 36 lines)
[/code]Code: Alles auswählen
<?php $out = ''; function _PRS($str) { return(iconv("UTF-8","ISO-8859-1//TRANSLIT",$str)); } try { $xref = simplexml_load_file('http://www.pegelonline.wsv.de/svgz/pegelstaende_neu.xml'); foreach ($xref->table->gewaesser as $value) { if (_PRS($value->name) == 'ELBE') { foreach ($value->item as $items) { if (_PRS($items->pegelname) == 'DRESDEN') { $out .= "<table>\n"; $out .= "<tr><td>Pegelname:</td><td>"._PRS($items->pegelname)."</td></tr>\n"; $out .= "<tr><td>Messwert:</td><td>"._PRS($items->messwert)."</td></tr>\n"; $out .= "<tr><td>km:</td><td>"._PRS($items->km)."</td></tr>\n"; $out .= "<tr><td>pnp:</td><td>"._PRS($items->pnp)."</td></tr>\n"; $out .= "<tr><td>Tendenz:</td><td>"._PRS($items->tendenz)."</td></tr>\n"; $out .= "<tr><td>Datum:</td><td>"._PRS($items->datum)."</td></tr>\n"; $out .= "<tr><td>Uhrzeit:</td><td>"._PRS($items->uhrzeit)."</td></tr>\n"; $out .= "</table>\n"; break; } } break; } } if ($out == '') { $out = "No Data"; } } catch (Exception $e) { $out = "No Data"; } echo($out); ?>