Mailinglisten-Archive |
Hallo Tim,
Tim schrieb:
> Hallo Liste,
>
> Ich habe folgenden XML-Dokumentausschnitt:
>
> <root>
> <node1>
> <param id="1">Param1</param>
> <param id="2">Param3</param>
> <param id="2">Param3</param>
> </node1>
> </root>
>
>
> wenn ich mit simpleXML ein Objekt initialisiere, kann ich danach mittels
>
> $root->node1
>
> auf einen konkreten mir bekanntesn Knoten zugreifen. Es ist von vorne
> herein klar, dass node1 nur ein einziges Mal vorkommt.
>
Und genau hier beginnt ist die Frage, woher DOM das wissen soll? - So
klar, dass node1 nur ein einziges mal vorkommt ist es nämlich nicht.
Daher ist im DOM auch ein einfacher durchgriff auf node1 nicht
implementiert.
> Was ist denn die Entsprechung, wenn ich DOM nutze? Ich könnte zwar über
> getElementsByTagName('node1') vorgehen, erhalte dann aber wieder eine Liste
> von Knoten, die nur ein Element besitzt. Gibt es in DOM ähnlich wie bei
> simpleXML eine Syntax, den Knoten direkt anzusprechen?
>
Also $root->getElementsByTagName('node1')->item[0] ist hier schon der
DOM konforme Ansatz. Natürlich gibt es immer so (quasi-)hacks wie man
auch 'einfacher' an seine Kindknoten kommt.
Da DOMElement von DOMNode auch die Attribute erbst, so könnte man
einfach $root->firstChild benutzen, aber ich rate davon dringend ab.
>
> Über eine kleine Einstiegshilfe würde ich mich sehr freuen.
>
Als Tipp kann ich dir nur raten, Javaprogramme die DOM benutzen (nicht
JDOM!) zu studieren, da lernst Du viel über den guten Umgang mit DOM.
> Liebe Grüße
> Tim
>
> PS: Die Fülle der DOM Methoden erschlägt mich gerade ziemlich. Man weiß
> irgendwie gar nicht, wo man zuerst anfangen sollte.
>
>
Du machst das schon richtig und wenn Du fragen hast, dann einfach her damit.
Lieben Gruß
Norman
php::bar PHP Wiki - Listenarchive