INodeIterator

INodeIterator interface

Iteratoren werden verwendet, um schrittweise durch eine Menge von Knoten zu gehen, z. B. die Menge von Knoten in einer NodeList, den Dokument-Teilbaum, der von einem bestimmten Knoten gesteuert wird, die Ergebnisse einer Abfrage oder irgendeine andere Menge von Knoten. Die Menge der zu iterierenden Knoten wird durch die -Implementierung des NodeIterators bestimmt. DOM Level 2 spezifiziert eine einzelne NodeIterator-Implementierung für die Dokumentreihenfolge Traversierung eines Dokumentunterbaums. Instanzen dieser Iteratoren werden erstellt durch Aufrufen von DocumentTraversal .createNodeIterator().

Siehe auch dieDocument Object Model (DOM) Level 2 Traversal and Range Specification. @seit DOM Level 2

public interface INodeIterator : ITraversal

Eigenschaften

NameBeschreibung
PointerBeforeReferenceNode { get; }Der Wert dieses Flags bestimmt, ob die untergeordneten Referenzknoten von entity für den Iterator sichtbar sind. Wenn falsch, werden sie und ihre Nachkommen zurückgewiesen. Beachten Sie, dass diese Ablehnung Vorrang vor whatToShow und dem Filter hat. Beachten Sie auch , dass dies derzeit die einzige Situation ist, in der NodeIterators einen vollständigen Teilbaum ablehnen können, anstatt einzelne Knoten zu überspringen. Um eine Ansicht des Dokuments zu erstellen, die Entitätsreferenzen erweitert hat und den Entitätsreferenzknoten selbst nicht verfügbar macht, verwenden Sie die whatToShow-Flags für Blenden Sie die Entitätsreferenz node aus und setzen Sie expandEntityReferences auf true, wenn Sie den Iterator erstellen. Um eine Ansicht des Dokuments zu erstellen, das Entitätsreferenz -Knoten, aber keine Entitätserweiterung enthält, verwenden Sie whatToShow flags , um den Entitätsreferenzknoten anzuzeigen, und setzen Sie expandEntityReferences auf false.
ReferenceNode { get; }Der aktuelle Referenzknoten.

Methoden

NameBeschreibung
Detach()Trennt den NodeIterator von der Menge, über die er iteriert , wodurch alle Rechenressourcen freigegeben und der Iterator in den Status INVALID versetzt werden. Nachdem die Trennung aufgerufen wurde, rufen Aufrufe von nextNode oder previousNode die Ausnahme INVALID_STATE_ERR auf.
NextNode()Gibt den nächsten Knoten in der Menge zurück und rückt die Position des Iterators in der Menge vor. Nachdem ein NodeIterator erstellt wurde, gibt der erste Aufruf von nextNode() den ersten Knoten in der Menge zurück.
PreviousNode()Gibt den vorherigen Knoten in der Menge zurück und verschiebt die Position des NodeIterators in der Menge nach hinten.

Siehe auch