Forum>Entwickler>Hilfe beim Auslesen eines XML Files

Hilfe beim Auslesen eines XML Files

wurzelmac
wurzelmac05.11.1820:34
Vielleicht ist ja diesmal jemand wissend und bereit, mir auf die Sprünge zu helfen:

Ich kann über diese Adresse (ist eine Demo-Adresse des Betreibers) die aktuellen Daten einer Wetterstation abrufen. Besteht die Möglichkeit, diese Daten in einer Website abzurufen und dann ansehnlich für den Besucher aufzubereiten? ZB so wie hier (mir geht es nur um die Daten, nicht um die Tabelle), damit der Besucher der Website beim Aufruf immer die aktuellen Wetterdaten präsentiert bekommt:


Ich freue mich sehr, wenn mir da jemand unter die Arme greifen kann!
„You have to keep busy. After all, no dog has ever pissed on a moving car. (Tom Waits)“
0

Kommentare

wurzelmac
wurzelmac05.11.1820:49
Ähhh, und ich bin mir nicht sicher, ob ich im Entwickler-Forum auch richtig liege... Bitte mir das Nachzusehen.
„You have to keep busy. After all, no dog has ever pissed on a moving car. (Tom Waits)“
0
MikeMuc05.11.1821:17
Natürlich "ist das möglich". Nur wie schaut es bei dir mit PHP und anderen "Webtechniken" programmiertechnisch aus. Welche Vorkenntnisse hast du und was kann dein "Webserver"? Dann brauchst du noch eine Priese allgemeines Programmierwissen und du kannst los legen.
Wenn du nichts derlei hast, wird es schwierig...
0
sierkb05.11.1821:28
Ja. Zum Beispiel mit einem XSLT Stylesheet , die betreffend gewollten XML-Informationen in z.B. HTML oder ein anderes Format wie z.B. PDF transformieren/wandeln und mit einem CSS Stylesheet wie gewohnt die Positionierung/Darstellung bestimmen. Oder gleich per CSS und per display-Anweisung die gewünschten XML-Elemente darstellen, als wären sie HTML-Elemente (à la: stelle mir dieses XML-Element bzw. dessen Inhalt so dar, als wäre es ein HTML Absatz-Element oder ein Tabellen-Element oder ein Listen-Element oder oder etc.).
XSLT-Transformationen kann jeder Browser sogar von Haus aus, hat von Haus aus nicht nur einen XML-Parser (auch genannt: XML-Prozessor) zum Parsen/Verarbeiten von XML eingebaut, sondern auch einen XSLT-Parser. XML-Datei + XSLT-Datei + CSS-Datei, und der Browser Deiner Wahl transformiert/parst/präsentiert es Dir via seines eingebauten Parsers automatisch wie gewünscht (oder nur Auszüge davon, wie gewünscht und je nachdem, wie Du selber es im XSLT und CSS bestimmst), wenn Du es geschickt miteinander kombinierst und miteinander verknüpfst.

Oder, alternativ: Du liest die betreffende XML-Datei mittels eines externen XML-Parsers ein, der nicht selten sogar Teil des Betriebssystems ist, weil es den selber braucht (z.B. libxml2 oder SAX) ein und machst es bzw. wandelst es abseits des Browsers, z.B. via Shell, Java, PHP, Python, Perl etc., um das Ergebnis dann dem Browser wieder zuzuführen, aber es ginge auch im und vom Browser selber, die Browser bringen die Werkzeuge/Parser dazu mit, das geht bei allen Browsern seit einigen Jahren.
+1
pitch05.11.1822:32
sierkb
Ja. Zum Beispiel mit einem XSLT Stylesheet , die betreffend gewollten XML-Informationen in z.B. HTML oder ein anderes Format wie z.B. PDF transformieren/wandeln und mit einem CSS Stylesheet wie gewohnt die Positionierung/Darstellung bestimmen. Oder gleich per CSS und per display-Anweisung die gewünschten XML-Elemente darstellen, als wären sie HTML-Elemente (à la: stelle mir dieses XML-Element bzw. dessen Inhalt so dar, als wäre es ein HTML Absatz-Element oder ein Tabellen-Element oder ein Listen-Element oder oder etc.).
XSLT-Transformationen kann jeder Browser sogar von Haus aus, hat von Haus aus nicht nur einen XML-Parser (auch genannt: XML-Prozessor) zum Parsen/Verarbeiten von XML eingebaut, sondern auch einen XSLT-Parser. XML-Datei + XSLT-Datei + CSS-Datei, und der Browser Deiner Wahl transformiert/parst/präsentiert es Dir via seines eingebauten Parsers automatisch wie gewünscht (oder nur Auszüge davon, wie gewünscht und je nachdem, wie Du selber es im XSLT und CSS bestimmst), wenn Du es geschickt miteinander kombinierst und miteinander verknüpfst.

Oder, alternativ: Du liest die betreffende XML-Datei mittels eines externen XML-Parsers ein, der nicht selten sogar Teil des Betriebssystems ist, weil es den selber braucht (z.B. libxml2 oder SAX) ein und machst es bzw. wandelst es abseits des Browsers, z.B. via Shell, Java, PHP, Python, Perl etc., um das Ergebnis dann dem Browser wieder zuzuführen, aber es ginge auch im und vom Browser selber, die Browser bringen die Werkzeuge/Parser dazu mit, das geht bei allen Browsern seit einigen Jahren.

Weißt Du wirklich, wovon Du sprichst? Schon mal mit Web-Technologien XML regelmässig importiert, geparsed und per View zur Anzeige gebracht?
Wenn ja, kommt ganz sicher nicht das dabei rum, was Du mit vielen Zeilen beschreibst ...
-2
sierkb05.11.1822:45
pitch
Weißt Du wirklich, wovon Du sprichst? Schon mal mit Web-Technologien XML regelmässig importiert, geparsed und per View zur Anzeige gebracht?

Ja, ich weiß, wovon ich rede. Weil schon mehrfach in professionellem Rahmen und für Kunden-Projekte so gemacht und eingebunden. Funktioniert prima. XSL, XSLT, XSL-FO sind u.a. für genau sowas gemacht, wonach angefragt wird. Teilweise so gemacht wie beschrieben, teilweise mittels Xalan, Saxon etc. ausgelesen/transformiert und weiterverarbeitet, ad-hoc oder on-the-fly; es wäre ein Weg unter mehreren möglichen Wegen und nur ein Vorschlag, es gäbe aber auch andere Wege und technische Lösungen zum Ziel.
Wenn ja, kommt ganz sicher nicht das dabei rum, was Du mit vielen Zeilen beschreibst ...

Doch. Siehe grad' Gesagtes.
+3
wurzelmac
wurzelmac06.11.1807:59
Danke allen für die Kommentare!

Es sollen keine Datenbanken erstellt werden, sondern 'einfach' nur das aktuell aufgerufene Dokument in Teilen in ein 'lesbares' HTML umgewandelt werden.

Ich werde mich erst mal mit siekb's Vorschlägen auseinandersetzen, vielen vielen Dank!
„You have to keep busy. After all, no dog has ever pissed on a moving car. (Tom Waits)“
0
Jörg H.06.11.1808:21
wurzelmac
Ich werde mich erst mal mit siekb's Vorschlägen auseinandersetzen, vielen vielen Dank!

Das geht so nichts wie sierkb es geschrieben hat, für einmal okay, für eine dauerhafte und sich aktualisierende Anwendung auf einem Webserver bei irgendeinem Provider solltest du das mit PHP, das ist bei praktisch allen Hoster-Paketen dabei, verarbeiten. Das ist im Grunde nicht schwer, aber meistens ein bisschen Gefummel bis man es so hat wie gewünscht.

Habe das gerade bei weatherlink nur überflogen: Sie bieten auch statt XML JSON an, das würde ich dann an deiner Stelle nehmen, dürfte etwas einfach sein.
-2
sierkb06.11.1810:29
Jörg H:

Natürlich geht das so, wie ich es gesagt habe. Es gibt sogar Beispiele im Web, wo es gemacht wird, wo Du Dir das ansehen kannst, wie das umgesetzt ist, und zahlreiche Abhandlungen, How-Tos, Bücher Online-Tutorials zu dem Thema, und jede Suchmaschine Deiner Wahl zeigt es Dir auf. Wie ich bereits gesagt habe: XSL, XSLT, XSL-FO sind als XML-Sprachen extra für soche Anwendungsfälle wie den hier Vorliegenden gemacht: das Auslesen, Weiterverarbeiten bzw. Transformieren von XML.

Was soll da nicht gehen,wie ich es beschrieben habe? Doch, es geht. Und es wird gemacht. Prima geht das. PHP & Co. braucht man dazu nicht.

Wahllos rausgepicktes Beispiel gefällig für XML im Browser, verknüpft mit einem XSLT Stylesheet und einem CSS-Stylesheet, um im Browser vom Browser client-seitig on-the-fly dargestellt/transformiert zu werden: , .
Hier serverseitig, als die Browser noch nicht alle soweit waren, mittlerweile können es alle, sodass es auch wie genannt im Browser stattfinden kann: ,
+2
sierkb06.11.1810:41
Nachtrag:

Teure Kurse zu sowas gibt es auch: , und sowas kann man damit z.B. auch machen:

dotnetpro (21.01.2005): Mit XSL-Vorlage Excel-Datei aus XML-Datei erzeugen
XSL kann nicht nur HTML-Dateien aus XML erzeugen. Mit der richtigen XSL-Transformation können Sie auch Tabulator-separierte Tabellen erzeugen.

stackoverflow (12.08.2010): Which browser can show XML data transformed by XSLT?

Wahllos rausgepickte Beispiele, es gibt sicher bessere und unzählige weitere mehr. Um zu zeigen: es geht, und die genannten Technologien sind wie gemacht für diesen hier angefragten Anwendungsfall.

Die XML-Familie ist eine reichhaltige Sprachenfamilie und bringt die Werkzeuge zur eigenen Verarbeitung gleich mit in Form der genannten und extra dafür geschaffenen XML-Sprachen. Und die Web-Browser können das, und es gibt auch außerhalb der Web-Browser reichhaltiges Werkzeug, um damit umzugehen. LibreOffices/OpenOffices Import-/Export-Filter basieren u.a. auf XSLT, transformieren auf jener Basis XML in ein anderes Dokumenten-Format, meines Wissens macht es auch MS Office so. Den Anwendungsfällen sind da keine Grenzen gesetzt, vieles ist da machbar.
+2
sierkb06.11.1811:41
Nachtrag 2:

Und, wie angesprochen, XML nur mit CSS im Browser darstellen und ohne XSLT (oder ggf. im Verbund damit), wird u.a. hier beispielhaft erläutert:

A Coding Project: XML gestalten mit CSS

Eine Spezifikation vom W3C gibt es zu dem ganzen Thema u.a. auch, nebst den Hauptspezifikationen zu XML, XSLT und XSLT-FO:

W3C: Associating Style Sheets with XML documents 1.0 (Second Edition)
Ebenso u.a. eine kurze Hilfestellung nebst Beispielen:
W3C: XML mit Style


Da geht so Einiges und ist so Einiges möglich.
+2
chh06.11.1813:07
Schau mal bei OpenHAB. Da kannst du Werte aus dem xml mit xpath rauspicken (oder direkt aus der Webseite extrahieren wenn das einfacher sein sollte) und hübsch per Browser darstellen. Und vieles mehr. Aber Achtung, wenn du da auf den Geschmack kommst, dann lässt dich das nicht mehr los!
+1
micheee27.11.1800:30
Late to the party... aber:
Ich kann auch nur zu XSL/XPath/XQuery raten, eindeutig die beste Technologie um XML Processing zu betreiben
+1

Kommentieren

Sie müssen sich einloggen, um sich an einer Diskussion beteiligen zu können.

OK MacTechNews.de verwendet Cookies unter anderem für personalisierte Inhalte, Seitenanalyse und bei der Auslieferung von Google-Anzeigen. Dies war zwar schon immer so, auf Wunsch der EU muss nun jedoch explizit darauf hingewiesen werden. Durch Nutzung der Website erklären Sie sich damit einverstanden. Weitere Informationen