Dazu habe ich mal noch eine Frage.
Wenn ich ein DOMDocument bei dem ich formatOutput auf true gesetzt habe, in eine Datei schreibe wird das hübsch mit Zeilenumbrüchen und Einrückungen formatiert in die Datei geschrieben. Soweit so gut.
Aber wenn ich dann diese Datei wieder in ein DOMDocument lade, kriege ich für jeden Zeilenumbruch ein TextNode generiert, der eben diesen Zeilenumbruch enthält.
|
PHP-Code:
|
|
/**
* DOMDocument erzeugen
*/
$dom1 = new DOMDocument;
$dom1->formatOutput = true;
$dom1->loadXML("<root1><node1>content1</node1></root1>");
/**
* DOMDocument in Datei schreiben
*/
$dom1->save("example.xml");
/**
* DOMDocument wieder aus Datei lesen
*/
$dom2 = new DOMDocument;
$dom2->load("example.xml");
/**
* ASCII Code des ersten Kindelements unter dem Rootelement ausgeben
*/
echo ord($dom2->documentElement->firstChild->nodeValue);
|
Man sollte erwarten, dass das erste Kindelement des Rootelements <node1>content</node1> sei, ist aber nicht so, da hat sich ein TextNode mit dem Inhalt "LF" eingeschmuggelt- das obige Skript gibt "10" aus.
Mach ich irgendwas falsch? Wo ist der Haken?
PS: Haken gefunden

die Eigenschaft
preserveWhiteSpace des DOMDocument Objekts auf
false setzen; und zwar VOR dem ->load() Befehl.... Danach bringt es nichts mehr, habs getestet. *schwitz* Daran hab ich jetzt bestimmt 3 Tage rumgemacht. Manchmal hilft es wirklich jemanden zu fragen und manchmal kommt schon beim Formulieren der Frage der rettende Geistesblitz.
