Frank P.: XHTML+XML Quelltext auslesen

Hallo,

ich hätte da mal eine Frage,

Ich möchte gerne mit PHP einen XML Quelltext auslesen und diesen verarbeiten, leider bekomme ich immer nur den HTML Quelltext.

Habe es bisher mit  fopen, file_get_contents probiert leider kriege ich nur den normalen HTML Quelltext und nicht den eigentlich XML Quelltext.

Wäre super wenn mir da jmd ne Lösung geben könnte.

Mfg

Frank

  1. Hi,

    Ich möchte gerne mit PHP einen XML Quelltext auslesen und diesen verarbeiten, leider bekomme ich immer nur den HTML Quelltext.

    Na so'n Pech.

    Habe es bisher mit  fopen, file_get_contents probiert leider kriege ich nur den normalen HTML Quelltext und nicht den eigentlich XML Quelltext.

    Wäre super wenn mir da jmd ne Lösung geben könnte.

    Du lesen das, du noch mal fragen - dann aber bitte mit nachvollziehbarer Problembeschreibung.

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
    1. Okay,

      Also nocheinmal,

      Wenn ich nun mit dem IE auf eine Seite gehe die xhtml+xml verwendet und dort mir über den Browser den Quelltest ansehe habe ich ein XML Objekt (<?xml version="1.0" encoding="UTF-8"?>.....) (Kein HTML).

      So ... diesen möchte ich auslesen, ich kriege jedoch nur per fopen oder file_get_contents den normalen HTML quellcode (<html><body>.....) ausgelesen.

      Nun würde ich gerne Wissen wie ich das XML Objekt ausgelsen kriege....

      mfg

      frank

      1. Lieber Frank,

        anscheinend "erweitert" Dein Webserver (über ein PHP-Script o.ä.) die eigentliche Datei (HTML), um daraus ein X(HT)ML-Dokument zu basteln. Das ist eine nicht unübliche Vorgehensweise bei Content Management Systemen, die eine Seite vor der Auslieferung an den Browser "anreichern". Wenn Du die zugrundeliegende Datei über ein Script ausliest, dann ist es nicht unbedingt überraschend, wenn sich der dortige Quelltext von dem unterscheidet, was später im Browser unter dieser Adresse als Quelltext ausgeliefert wird.

        Wenn Du den "tatsächlichen" Quelltext haben möchtest, dann musst Du in Deinem Script die Situation simulieren, die beim Aufruf durch den Browser gilt. Ich habe das zwar im Prinzip schoneinmal gemacht, jedoch war meine Anwendung ein Fileupload von einem Webserver zum anderen, wobei sich der eine Webserver per Script wie ein Browser beim Dateiupload verhalten hat.

        Näheres hier im Forumsarchiv unter folgenden Suchbegriffen:

        • fsockopen
        • HTTP-Request
        • fopen URL wrapper

        Liebe Grüße,

        Felix Riesterer.

        --
        ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
        1. Dankeschön Felix,

          dein Beitrag war wesentlich informativer als "So'n Pech".

          Dankeschön und schönen Abend noch werde damit sicherlich was finden.

          Mfg

          Frank

          1. Lieber Frank,

            Dankeschön Felix,

            bitteschön - gerne.

            dein Beitrag war wesentlich informativer als "So'n Pech".

            Das konnte er aber auch nur deshalb sein, da Du Deine Problembeschreibung nachgebessert hast. Aus Deinem originalen Posting ist mir Dein Problem zuerst nicht klar geworden! Da konnte ich "so'n Pech" sehr gut nachvollziehen...

            Liebe Grüße,

            Felix Riesterer.

            --
            ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
      2. echo $begrüßung;

        Wenn ich nun mit dem IE auf eine Seite gehe die xhtml+xml verwendet und dort mir über den Browser den Quelltest ansehe habe ich ein XML Objekt (<?xml version="1.0" encoding="UTF-8"?>.....) (Kein HTML).
        So ... diesen möchte ich auslesen, ich kriege jedoch nur per fopen oder file_get_contents den normalen HTML quellcode (<html><body>.....) ausgelesen.

        Vermutlich reagiert der Server auf die beiden Requests unterschiedlich. Ich kann mir gut vorstellen, dass er den Useragent-String auswertet, den dein Minimalscript nicht mitsendet.

        Nun würde ich gerne Wissen wie ich das XML Objekt ausgelsen kriege....

        Untersuche die Kommunikation zwischen Browser und Server (beispielsweise mit der livehttpheaders-Extension für den Firefox) und versuche gleiche Header (nicht alle, nur den/die relevanten) mit den PHP-Funktionen mitzusenden. Das geht über den Parameter context, zu dem du auf den jeweiligen Handbuchseiten (fopen() etc.) Informationen und Beispiele findest.

        echo "$verabschiedung $name";