xml Datei ändern
Paul
- php
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
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
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
Alles klar, mit htmlspecialchars läuft's.
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