CompositeNode

CompositeNode class

Basisklasse für Knoten, die andere Knoten enthalten können.

Um mehr zu erfahren, besuchen Sie dieAspose.Words Dokumentobjektmodell (DOM) Dokumentationsartikel.

public abstract class CompositeNode : Node, IEnumerable<Node>, IXPathNavigable

Eigenschaften

NameBeschreibung
Count { get; }Ruft die Anzahl der unmittelbar untergeordneten Elemente dieses Knotens ab.
CustomNodeId { get; set; }Gibt die benutzerdefinierte Knotenkennung an.
virtual Document { get; }Ruft das Dokument ab, zu dem dieser Knoten gehört.
FirstChild { get; }Ruft das erste untergeordnete Element des Knotens ab.
HasChildNodes { get; }RückgabenWAHR wenn dieser Knoten untergeordnete Knoten hat.
override IsComposite { get; }RückgabenWAHR da dieser Knoten untergeordnete Knoten haben kann.
LastChild { get; }Ruft das letzte untergeordnete Element des Knotens ab.
NextSibling { get; }Ruft den Knoten ab, der diesem Knoten unmittelbar folgt.
abstract NodeType { get; }Ruft den Typ dieses Knotens ab.
ParentNode { get; }Ruft den unmittelbar übergeordneten Knoten dieses Knotens ab.
PreviousSibling { get; }Ruft den Knoten ab, der diesem Knoten unmittelbar vorausgeht.
Range { get; }Gibt einenRangeObjekt, das den Teil eines Dokuments darstellt, der in diesem Knoten enthalten ist.

Methoden

NameBeschreibung
abstract Accept(DocumentVisitor)Nimmt einen Besucher auf.
abstract AcceptEnd(DocumentVisitor)Ruft bei Implementierung in einer abgeleiteten Klasse die Methode VisitXXXEnd des angegebenen Dokumentbesuchers auf.
abstract AcceptStart(DocumentVisitor)Ruft bei Implementierung in einer abgeleiteten Klasse die Methode VisitXXXStart des angegebenen Dokumentbesuchers auf.
AppendChild<T>(T)Fügt den angegebenen Knoten am Ende der Liste der untergeordneten Knoten für diesen Knoten hinzu.
Clone(bool)Erstellt ein Duplikat des Knotens.
CreateNavigator()Erstellt einen Navigator, der zum Durchlaufen und Lesen von Knoten verwendet werden kann.
GetAncestor(NodeType)Ruft den ersten Vorfahren des angegebenenNodeType .
GetAncestor(Type)Ruft den ersten Vorgänger des angegebenen Objekttyps ab.
GetChild(NodeType, int, bool)Gibt einen N-ten untergeordneten Knoten zurück, der dem angegebenen Typ entspricht.
GetChildNodes(NodeType, bool)Gibt eine Live-Sammlung von untergeordneten Knoten zurück, die dem angegebenen Typ entsprechen.
GetEnumerator()Bietet Unterstützung für die Iteration des For-Each-Stils über die untergeordneten Knoten dieses Knotens.
override GetText()Ruft den Text dieses Knotens und aller seiner untergeordneten Knoten ab.
IndexOf(Node)Gibt den Index des angegebenen untergeordneten Knotens im untergeordneten Knoten-Array zurück.
InsertAfter<T>(T, Node)Fügt den angegebenen Knoten unmittelbar nach dem angegebenen Referenzknoten ein.
InsertBefore<T>(T, Node)Fügt den angegebenen Knoten unmittelbar vor dem angegebenen Referenzknoten ein.
NextPreOrder(Node)Ruft den nächsten Knoten gemäß dem Pre-Order-Tree-Traversal-Algorithmus ab.
PrependChild<T>(T)Fügt den angegebenen Knoten am Anfang der Liste der untergeordneten Knoten für diesen Knoten hinzu.
PreviousPreOrder(Node)Ruft den vorherigen Knoten gemäß dem Pre-Order-Tree-Traversal-Algorithmus ab.
Remove()Entfernt sich selbst vom übergeordneten Element.
RemoveAllChildren()Entfernt alle untergeordneten Knoten des aktuellen Knotens.
RemoveChild<T>(T)Entfernt den angegebenen untergeordneten Knoten.
RemoveSmartTags()Entfernt alleSmartTag Nachkommenknoten des aktuellen Knotens.
SelectNodes(string)Wählt eine Liste von Knoten aus, die dem XPath-Ausdruck entsprechen.
SelectSingleNode(string)Wählt den erstenNode das dem XPath-Ausdruck entspricht.
ToString(SaveFormat)Exportiert den Inhalt des Knotens in eine Zeichenfolge im angegebenen Format.
ToString(SaveOptions)Exportiert den Inhalt des Knotens unter Verwendung der angegebenen Speicheroptionen in eine Zeichenfolge.

Bemerkungen

Ein Dokument wird als Knotenbaum dargestellt, ähnlich wie DOM oder XmlDocument.

Weitere Informationen finden Sie im Composite-Entwurfsmuster.

DerCompositeNode Klasse:

  • Bietet Zugriff auf die untergeordneten Knoten.
  • Implementiert zusammengesetzte Operationen wie das Einfügen und Entfernen von untergeordneten Elementen.
  • Stellt Methoden für die XPath-Navigation bereit.

Beispiele

Zeigt, wie die Sammlung untergeordneter Knoten eines zusammengesetzten Knotens durchlaufen wird.

Document doc = new Document();

// Fügen Sie dem ersten Absatz dieses Dokuments zwei Läufe und eine Form als untergeordnete Knoten hinzu.
Paragraph paragraph = (Paragraph)doc.GetChild(NodeType.Paragraph, 0, true);
paragraph.AppendChild(new Run(doc, "Hello world! "));

Shape shape = new Shape(doc, ShapeType.Rectangle);
shape.Width = 200;
shape.Height = 200;
// Beachten Sie, dass die „CustomNodeId“ nicht in einer Ausgabedatei gespeichert wird und nur während der Lebensdauer des Knotens existiert.
shape.CustomNodeId = 100;
shape.WrapType = WrapType.Inline;
paragraph.AppendChild(shape);

paragraph.AppendChild(new Run(doc, "Hello again!"));

// Durchlaufen Sie die Sammlung der unmittelbar untergeordneten Elemente des Absatzes.
// und drucke alle Läufe oder Formen aus, die wir darin finden.
NodeCollection children = paragraph.GetChildNodes(NodeType.Any, false);

Assert.AreEqual(3, paragraph.GetChildNodes(NodeType.Any, false).Count);

foreach (Node child in children)
    switch (child.NodeType)
    {
        case NodeType.Run:
            Console.WriteLine("Run contents:");
            Console.WriteLine($"\t\"{child.GetText().Trim()}\"");
            break;
        case NodeType.Shape:
            Shape childShape = (Shape)child;
            Console.WriteLine("Shape:");
            Console.WriteLine($"\t{childShape.ShapeType}, {childShape.Width}x{childShape.Height}");
            break;
    }

Siehe auch