CompositeNode
Inhalt
[
Ausblenden
]CompositeNode class
Basisklasse für Knoten, die andere Knoten enthalten können.
Um mehr zu erfahren, besuchen Sie dieAspose.Words Document Object Model (DOM) Dokumentationsartikel.
public abstract class CompositeNode : Node, IEnumerable<Node>, IXPathNavigable
Eigenschaften
Name | Beschreibung |
---|---|
Count { get; } | Ruft die Anzahl der unmittelbaren Kinder 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; } | Gibt zurückWAHR wenn dieser Knoten untergeordnete Knoten hat. |
override IsComposite { get; } | Gibt zurückWAHR 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 das unmittelbare übergeordnete Element dieses Knotens ab. |
PreviousSibling { get; } | Ruft den Knoten ab, der diesem Knoten unmittelbar vorangeht. |
Range { get; } | Gibt a zurückRange Objekt, das den Teil eines Dokuments darstellt, der in diesem Knoten enthalten ist. |
Methoden
Name | Beschreibung |
---|---|
abstract Accept(DocumentVisitor) | Akzeptiert einen Besucher. |
AppendChild(Node) | 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 angegebenen abNodeType . |
GetAncestor(Type) | Ruft den ersten Vorfahren 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 untergeordneter Knoten zurück, die dem angegebenen Typ entsprechen. |
GetEnumerator() | Bietet Unterstützung für die Iteration jedes 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(Node, Node) | Fügt den angegebenen Knoten unmittelbar nach dem angegebenen Referenzknoten ein. |
InsertBefore(Node, 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(Node) | 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(Node) | 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 ersten ausNode das entspricht dem XPath-Ausdruck. |
ToString(SaveFormat) | Exportiert den Inhalt des Knotens in einen String im angegebenen Format. |
ToString(SaveOptions) | Exportiert den Inhalt des Knotens mit den angegebenen Speicheroptionen in einen String. |
Bemerkungen
Ein Dokument wird als Knotenbaum dargestellt, ähnlich wie DOM oder XmlDocument.
Weitere Informationen finden Sie im Composite-Designmuster.
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 Knotenlebensdauer vorhanden ist.
shape.CustomNodeId = 100;
shape.WrapType = WrapType.Inline;
paragraph.AppendChild(shape);
paragraph.AppendChild(new Run(doc, "Hello again!"));
// Durch die Sammlung der unmittelbar untergeordneten Elemente des Absatzes iterieren,
// und alle Läufe oder Formen drucken, 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
- class Node
- namensraum Aspose.Words
- Montage Aspose.Words