Knoten suchen

Da das gezielte Finden von Knoten zur weiteren Bearbeitung wichtig ist, soll näher auf dieses Thema eingegangen werden.

Zur Suche von Knoten wurde die Methode getElementsByTagName vorgestellt. Häufig kommt ein Tag mehrmals vor, so auch im vorangegangenen Beispiel (in diesem Fall der Tag Mitarbeiter). Um herauszufinden, wie viele Elemente Sie ausgelesen haben benötigen Sie die Methode getLength:

findNode = domNode.getElementsByTagName('Mitarbeiter');

Nun sollten in der Variable findNode alle Knoten mit dem Namen Mitarbeiter enthalten sein. Erinnern Sie sich noch an die XML-Struktur aus dem vorherigen Abschnitt? Wenn sie alles richtig gemacht haben oder die fertige .m-Datei genutzt haben, sollte dieser Knoten zwei Mal vorkommen. Ein Aufruf von

findNode.getLength

sollte die Zahl 2 ausgeben. Sie können also mittels item() auf die jeweiligen Knoten zugreifen. Beachten Sie, dass hier jedoch bei 0 losgezählt wird - bei zwei Knoten benötigen Sie also item(0) und item(1).

In diesem Knoten existieren weitere Knoten (sog. "Kinder"). Diese können Sie mit der Methode getChildNodes auslesen. Der Aufruf

foundNode = findNode.item(1);
childNodes = foundNode.getChildNodes;

erzeugt eine neue Variable, in der die Kinder-Knoten enthalten sind. In unserem Beispiel also die Tags Name und Titel. Sollten Sie nicht wissen, wie viele Kinder-Knoten existieren, kann hier analog der Befehl getLength genutzt werden. Ebenfalls können Sie die Methode item() nutzen.

childNodes.item(0);

ruft demzufolge den Knoten Name auf, item(1) analog den Knoten Titel.