php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.03.2009, 17:40  
Neuer Benutzer
 
Registriert seit: 20.03.2009
Beiträge: 6
Oli Krause befindet sich auf einem aufstrebenden Ast
Standard Website in XML-Format öffnen und Daten in DB schreiben...aber nur wie ?

Hallo zusammen,

ich bin neu hier und stelle gleich mal ne Frage:
Bei mir am Netzwerk hängt ein Datenlogger, welcher mir Heizungstemperaturen aufzeichnet. Dieses Gerät hat einen eingebauten Webserver, der es ermöglicht die Daten im XML-Format im Browser sichtbar zu machen.
Nun möcht ich irgendwie diese Daten direkt auslesen und in meine Datenbank schreiben. Diese Datenbank befindet sich auf meinem Webserver auf meiner NAS, welche auch am Netzwerk hängt.
Ziel dieser Übung soll sein, die Daten später über einen CronJob zyklisch vom Datenlogger abzurufen und abzulegen, sodaß ich in meiner Hopage aufbereitete Diagramme präsentieren kann.

Ach so, die Daten kommen in folgender Form:
Klickt mal auf meiner bisherigen Homepage auf das Bild in der Mitte...dann werden die aktuellen Daten angezeigt:

www.Gischpl.de

Vielen lieben Dank

Gruß
Oli
Oli Krause ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.03.2009, 17:47  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Kommen die Daten nun als XML oder nicht?

Du kannst mit file_get_contents() (oder mit der CURL-Bibliothek) die entsprechende Datei/URL aufrufen und die Daten einlesen. PHP hat für das Verarbeiten von XML verschiedene Möglichkeiten. Zum Beispiel SimpleXML - damit kannst du den Kram parsen und es dann in die DB schreiben....
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 20.03.2009, 18:01  
Neuer Benutzer
 
Registriert seit: 20.03.2009
Beiträge: 6
Oli Krause befindet sich auf einem aufstrebenden Ast
Standard

Hai,

mann, sorry total vergessen..ich hatte noch die Webdarstellung eingeschaltet. Jetzt werden die Daten in XML-Format dargestellt !

Was ich halt als Problem sehe, daß ich kein File, sondern nur einen Url habe, um an diese Daten zu kommen.

Curl: Ist das bei PHP5.2 automatisch dabei ? Oder muß ich da was installieren ?

Grüße
Oli
Oli Krause ist offline  
Alt 20.03.2009, 18:04  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Zitat:
Zitat von Oli Krause Beitrag anzeigen
Was ich halt als Problem sehe, daß ich kein File, sondern nur einen Url habe, um an diese Daten zu kommen.
Das ist kein Problem, siehe: PHP: file_get_contents - Manual
Zitat:
Mit dieser Funktion können Sie eine URL als Dateinamen verwenden, falls Sie fopen wrappers ermöglicht haben. Mehr Details dazu, wie Sie den Dateinamen angeben müssen finden Sie bei fopen(). Eine Liste der unterstützten URL Protokolle finden Sie unter List of Supported Protocols/Wrappers.
Zitat:
Curl: Ist das bei PHP5.2 automatisch dabei ? Oder muß ich da was installieren ?
Mit ziemlich hoher Wahrscheinlichkeit ist es dabei. Siehe. PHP: cURL - Manual
Wahrscheinlich reicht bei dir aber schon file_get_contents
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 21.03.2009, 21:24  
Neuer Benutzer
 
Registriert seit: 20.03.2009
Beiträge: 6
Oli Krause befindet sich auf einem aufstrebenden Ast
Standard

Hallo zusammen,

erstmal vielen Dank, ich bin schon ein gutes Stück weiter gekommen.
Nun hab ich es soweit geschafft, die Daten vom URL in eine Variable zu lesen:

//File einlesen
$RawXmlFile = file_get_contents('http://192.168.178.25/xml');
echo "$RawXmlFile";

dies erzeugt folgendes Ergebnis im Browser:
1.0 20090321-211213 01.10.00 1.9.1.4 RSG40-F111B1A1A2A1 57.4 �C 100.0 0.0 20090321-211212 OK 0 Puffer hi Endress+Hauser 43.3 �C 100.0 0.0 20090321-211212 OK 0 Puffer hi mid Endress+Hauser 42.4 �C 100.0 0.0 20090321-211212 OK 0 Puffer lo mid Endress+Hauser 28.6 �C 100.0 0.0 20090321-211212 OK 0 Puffer lo Endress+Hauser 41.8 �C 100.0 0.0 20090321-211212 OK 0 VL Br Heizung Endress+Hauser 35.7 �C 100.0 0.0 20090321-211212 OK 0 VL Br WarmW Endress+Hauser 29.8 �C 100.0 -0.0 20090321-211212 OK 0 Rl Solar Endress+Hauser 36.1 �C 100.0 0.0 20090321-211212 OK 0 VL Solar hi Endress+Hauser 24.8 �C 100.0 0.0 20090321-211212 OK 0 VL Solar low Endress+Hauser 0 20090321-211212 0 Digital 1 Endress+Hauser

Wenn ich nun - um auf Nummer sicher zu gehen noch einen Typecast des Objekts vornehme, dann erscheint nahezu die gleiche Anzeige..nur etwas umgeordnet. Hier der Typecast:

// Typecast auf XML-Dkoument
$Temperaturen = <<<XML
$RawXmlFile
XML;

echo $Temperaturen;

Nun wollte ich auf einzelne Nodes zugreifen, aber da scheitert mein Programm. Ich habe diese Operation ausgeführt:

$xml = simplexml_load_string($Temperaturen);
echo $xml;
echo $xml->fieldgate->conf;

Doch weder wenn ich die auf die xml-Variable zugreife, noch auf den Unternode, bekomme ich etwas ausgegeben.


<fieldgate ser="00000000000" tag="Device 1" type="full">
<rev_xml>1.0</rev_xml>
<time>20090321-181702</time>
<timezone/>
<ff_version>01.10.00</ff_version>
<os_version>1.9.1.4</os_version>
<conf>RSG40-F111B1A1A2A1</conf>

Das File ist nicht abgeschlossen, da ansonsten zu lange.
Kann mir jemand auf die Sprünge helfen, was ich falsch mache ?

Grüßle
Oli
Oli Krause ist offline  
Alt 21.03.2009, 21:55  
Neuer Benutzer
 
Registriert seit: 20.03.2009
Beiträge: 19
bond befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Oli Krause Beitrag anzeigen
// Typecast auf XML-Dkoument
$Temperaturen = <<<XML
$RawXmlFile
XML;
Ist das wirklich nötig?
Hast du schon versucht, ein XML-Objekt zu erzeugen ohne das Zitierte?
bond ist offline  
Alt 21.03.2009, 22:05  
Neuer Benutzer
 
Registriert seit: 20.03.2009
Beiträge: 6
Oli Krause befindet sich auf einem aufstrebenden Ast
Standard

Hai,

ja, ich hab das ganze schon mit allerlei Varianten probiert...
Wenn ich den Typecast weglasse, dann bringt mir der Browser folgendes Ergebnis:

->conf

Also nicht den Wert, der hinter dem Node steht. Daraufhin habe ich eben gedacht, daß der Sting evtl nicht richtig formatiert ist und es deshalb nicht richtig möglich ist, den Wert auszulesen..

Grüßle
Oli
Oli Krause ist offline  
Alt 22.03.2009, 01:49  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ist fieldgate das root Element? Und wie sehen Deine Zugriffsversuche aus?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 22.03.2009, 09:30  
Neuer Benutzer
 
Registriert seit: 20.03.2009
Beiträge: 6
Oli Krause befindet sich auf einem aufstrebenden Ast
Standard

Hai mittanand,

ja, "fieldgate" ist das Root-Element.
Was meinst Du mit Rechten ? Was kann ich da übersehen haben ?

Gruß
Oli
Oli Krause ist offline  
Alt 22.03.2009, 10:17  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Wer hat denn nach irgendwelchen Rechten gefragt?

Zitat:
Zitat von Oli Krause Beitrag anzeigen
dies erzeugt folgendes Ergebnis im Browser
Enthält diese Datei HTML (als xml formatiert) oder zeigst Du dem Browser per Content-type an, dass XML Daten gesendet werden?
David ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Anmelde Daten auf andere Website übertragen? Fruchtzwerk PHP Tipps 2009 2 16.03.2009 12:40
Registrierte User sollen ihre Daten ändern können 54ch4 PHP Tipps 2009 17 14.03.2009 14:29
Daten von Website zu Website übertragen beta02 PHP Tipps 2009 17 13.01.2009 22:19
Scriptsuche Suche Script zum einpflegen von daten... derTorsten1909 Scriptbörse 17 10.01.2009 18:22
Problem mit Formular, Daten an datenbank senden Aurec PHP Tipps 2008 11 20.11.2008 18:17
phpMyAdmin Daten exportieren als ISO-8859-1 Format. DonTermi Datenbanken 0 15.09.2005 10:24
Daten eintragen und auslesen Rettungsdackel Datenbanken 0 14.09.2005 16:29
Daten aus website auslesen PHP Tipps 2005-2 3 28.08.2005 01:41
Daten speichern - Überlegungen zum Format Datenbanken 12 24.05.2005 19:38
website lässt sich nicht öffnen PHP Tipps 2005 2 18.02.2005 19:38
Ausgelesene Daten in Website einbauen PHP Tipps 2004-2 4 24.11.2004 21:31
Daten aus einer externen Website lesen via PHP Locutus007 PHP Tipps 2004 4 29.09.2004 17:20
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
Modales Fenster zur Eingabe von Daten HTML, Usability und Barrierefreiheit 0 22.06.2004 12:52
HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
xml öffnen, xml format öffnen, .xml öffnen, http://www.php.de/php-einsteiger/53186-website-xml-format-oeffnen-und-daten-db-schreiben-aber-nur-wie.html, xml website auslesen, xml aus webseite auslesen, xml datenbank öffnen, webseite als xml speichern, xml von webseite auslesen, xml daten in datenbank schreiben, website in xml, xml website, mit xml website auslesen, daten aus xml, webseite in xml speichern, php xml öffnen, auslesen xml von homepage, xml einer homepage auslesen, öfnen von *.db daten, db format öffnen

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:30 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum