Paul: xml Datei ändern

Moin,
ich möchte per PHP eine Datei öffnen, verändern und speichern.
Allerdings ist die Datei eine xml-Datei. Mit DOM etc. komm ich nicht dran denn ich muss das <?xml-stylesheet type="text/xsl" href="test.xslt" ?>
verändern. Das DOM fängt erst ab dem root-tag an. Mit fopen etc. kommt nur leerer Inhalt raus (wohl wegen den < und den > ).
Wie kann ich die o.g. Zeile ändern?

Danke,
Paul

  1. Hallo Paul,

    ich möchte per PHP eine Datei öffnen, verändern und speichern.
    Allerdings ist die Datei eine xml-Datei. […] Mit fopen etc. kommt nur leerer Inhalt raus (wohl wegen den < und den > ).

    Wahrscheinlich hast du die XML-Tags nicht richtig escaped und deshalb bleibt die Seite im Browser weiß. Leider kann ich nur Vermutungen anstellen, da du uns nicht zeigst was und wie du es bis jetzt probiert hast.

    Mit freundlichen Grüßen,
    Steffen Bruchmann

    1. Moin.
      Naja, halt ein ganz normales xml-file

      <?xml version="1.0" encoding="utf-8"?>  
      <?xml-stylesheet type="text/xsl" href="abc.xslt" ?>  
      <root>...
      

      und dann PHP

       $handle = fopen($xmlFile,"r+");  
      while (!feof($handle)) {  
          $buffer = urlencode(fgets($handle, 1000));  
          echo $buffer.'<br/>';  
      }  
      fclose($handle);
      

      Heraus kommt dann zwar jetzt nicht mehr    ( = nix) sondern ein String wie z.B. 3C%3Fxml-stylesheet+type%3D%22text%2Fxsl%22+href%3D%22abc.xslt%22+%3F%3E%0A

      Notfalls werd ich mir den kryptischen String halt per Hand umwandeln.

      Danke trotzdem,
      Paul

      1. Alles klar, mit htmlspecialchars läuft's.

  2. Hallo,

    Mit fopen etc. kommt nur leerer Inhalt raus (wohl wegen den < und den > ).

    nein, dann machst du noch etwas anderes falsch, was aus deiner Beschreibung aber nicht erkennbar ist. Beim Lesen mit fopen(), fread(), file() und ähnlichen wird nichts ausgefiltert, sondern alle Zeichen (Bytes) direkt durchgereicht.

    So long,
     Martin

    --
    Wer keiner Fliege etwas zuleide tut, darf sich nicht über die Maden im Fleisch wundern.