phpbar.de logo

Mailinglisten-Archive

[php] DOM appendChild

[php] DOM appendChild

Peter Bieling net2 at media-palette.de
Die Mar 27 13:55:00 CEST 2007


Hallo Sascha,

Sascha Grossenbacher wrote:

> Meiner Meinung nach solltest du nicht verschiedene Technologien 
> miteinander vermischen. Entweder machst du ein Template, dann kannst du 
> mit einer Template-Klasse auch direkt in der Vorlage eine Schleife 
> machen, die ist nämlich genau für solche Sachen gedacht. Das hat 
> allerdings den Nachteil das die Vorlage nicht mehr mit OO bearbeitet 
> werden, weil es dann nicht mehr valides XML ist.

warum genau, kann man mit einer Template-Klasse kein valides XML 
erzeugen? Auch valide XHTML-Dokumente können unter Verwendung von 
Templateklassen generiert werden. Das gehört doch für die meisten hier 
zum täglichen Brot. Die Ehrfurcht vor einem XML-Dokument, das nur mit 
XML-Methoden bearbeitet werden darf, halte ich für übertrieben.

> Oder, du machst es mit DOM bzw. allgemein mit XML, dann kannst du, 
> genauso wie du Nodes kopieren etc. kannst, auch den Inhalt und Attribute 
> von denen verändern und schreiben. Dann kannst du auch genau angeben, 
> welche Zeile du bearbeiten willst.

Natürlich kann man das machen und sich von Ast zu Ast durch das 
XML-Dokument hangeln und hier ein Element einhängen und da die Inhalte 
ersetzen. Die Frage ist nur, wie lange das dauern soll. ;-(
(Nicht umsonst gibt es übrigens in JavaScript innerHTML, obwohl das kein 
offizieller Standard ist.)

Mit AppendChild "gelingt" es mit PHP sogar, nicht-valide XML-Dokumente 
zu erzeugen, ohne dass es eine Warnung gibt. Das Ergebnis ist also 
entscheidend.
Wenn man sicher gehen will, kann man das Dokument nach der Bearbeitung 
ja noch einmal validieren. Entweder ist es valide oder nicht. Ob die 
Manipulationen auf PHP-Ebene oder auf C-Ebene durchgeführt werden, macht 
dabei keinen gravierenden Unterschied. In jedem Fall werden 
Zeichenketten bearbeitet.

Das einzige Verbrechnen an XML-Dokumenten ist für mich die Bearbeitung 
mit Hilfe von regulären Ausdrücken, weil die Verwendung von brauchbaren 
XML-Werkzeugen wesentlich sicherer und einfacher ist.

Viele Grüße

Peter

php::bar PHP Wiki   -   Listenarchive