Hallo
Ich wollte etwas vermeintlich Einfaches machen: Den Beginn einer xml-Datei einlesen, dann etwas aus einer DB selbst generieren, anschliessend den Schluss einer xml-Datei einlesen und alles wieder als xml-Datei speichern.
Leider habe ich dabei ein Problem mit den Zeilenumbrüchen. Ich hab's so versucht:
Die Datei data.xml wird zwar so vollständig zusammengesetzt erzeugt, aber nicht wie gewünscht: Ohne chr(13) wurde angezeigt:
Ohne die Zeilenumbrüche funktionierte die xml-Datei nicht, wenn ich sie von Hand einfügte, konnte sie korrekt dargestellt werden. Also habe ich mit chr(13) die Umbrüche eingefügt und erhalte:
Damit sieht es aus, wie wenn ich die Umbrüche von Hand einfüge, aber die Datei kann trotzdem nicht gelesen werden. Als Alternative habe ich es mit chr(10) versucht und mit beiden zusammen. Das Ergebnis ist immer dasselbe: Es sieht zwar aus wie von Hand bearbeitet, funktioniert aber nicht so.
Ich wäre für einen Tipp sehr dankbar.
Gruss, rodaroda
Ich wollte etwas vermeintlich Einfaches machen: Den Beginn einer xml-Datei einlesen, dann etwas aus einer DB selbst generieren, anschliessend den Schluss einer xml-Datei einlesen und alles wieder als xml-Datei speichern.
Leider habe ich dabei ein Problem mit den Zeilenumbrüchen. Ich hab's so versucht:
PHP-Code:
//Den Beginn der Datei einlesen
$text = file_get_contents('data1.xml');
$anfrage="SELECT ...";
$ergebnis=mysql_query($anfrage);
$anzahl=mysql_num_rows($ergebnis);
for($i=0;$i<$anzahl;$i++) {
$text .= chr(13).'<cover>';
$text .= chr(13).'<title>'.mysql_result($ergebnis,$i,"titel").'</title>';
$text .= chr(13).'<image>'.mysql_result($ergebnis,$i,"bildname_thumb").'</image>';
$text .= chr(13).'</cover>';
}
// einen abschliessenden Zeilenumbruch anhängen
$text .= chr(13);
// jetzt den Schluss der Datei anhängen
$text .= file_get_contents('data2.xml');
$fp = fopen('data.xml', 'w');
fwrite($fp, $text);
fclose($fp);
<cover><title>EinTitel</title><image>bild.jpg</image></cover>
<cover>
<title>EinTitel</title>
<image>bild.jpg</image>
</cover>
<title>EinTitel</title>
<image>bild.jpg</image>
</cover>
Ich wäre für einen Tipp sehr dankbar.
Gruss, rodaroda
Kommentar