phpbar.de logo

Mailinglisten-Archive

[php] DOM appendChild

[php] DOM appendChild

Peter Bieling net2 at media-palette.de
Mon Mar 26 11:38:07 CEST 2007


Hallo Andi,

Andi Voss wrote:

> Jetzt habe ich aber noch ein Problem:
> Meine Tabellenzeile ist jetzt dupliziert worden - prima.
> Jetzt stehen in zwei Zeilen jeweils die gleichen Platzhalter drin. Die 
> Platzhalter sollen aber für jede Zeile mit anderen Daten gefüllt werden.
> Ich wollte z.B. mit str_replace( '{NO. RECEIPTS}', $daten, $content ) 
> die Platzhalter füllen, doch es steht dann natürlich immer das gleiche 
> drin, weil bei dem ersten Durchlauf schon alle Platzhalter mit dem 
> ersten Datensatz belegt sind.
> 
> Hat da jemand eine Idee wie man das umgehen kann?

Ich würde nach Möglichkeit auf den ganzen DOM-Kram verzichten, denn so 
wie es aussieht holst Du ja nur ein Tabellenzeilen-Template aus der 
XML-Datei, das Du dann füllen willst. In XML-Dateien gehören ja 
normalerweise Daten, während Templates in Template-Dateien gehören. ;-)
(Ausnahme sind natürlich Templates im XML-Format, z.B. XSLT-Dateien aber 
die bearbeitet man dann auch nicht mit str_replace.)

Ein Beispiel für die Verarbeitung von Templatezeilen:
http://www.media-palette.de/tools/pb-tpl/test2.php

> DOMCharacterData->replaceData() sollte ja hier auch helfen, sodass ich 
> den content dann gar nicht nochmal parsen müsste, aber an keinem Punkt 
> kann ich diese Methode anwenden.
> Was mach ich falsch?
> 
> Hoffe diesmal kann mir jemand helfen.

Vielleicht erklärst Du mal genauer, was Du vor hast, und warum die 
DOM-Funktionen Dir besonders geeignet erscheinen, Dein Problem zu lösen. 
Kommt diese XML-Datei z.B. aus fremder Quelle, auf die Du keinen 
Einfluss hast?
So lange man den Sinn nicht versteht, fehlt auch ein bisschen die 
Motivation, Dir zu helfen.

Viele Grüße

Peter


php::bar PHP Wiki   -   Listenarchive