CompositeNode
Innehåll
[
Dölj
]CompositeNode class
Basklass för noder som kan innehålla andra noder.
För att lära dig mer, besökAspose.Words Document Object Model (DOM) dokumentationsartikel.
public abstract class CompositeNode : Node, IEnumerable<Node>, IXPathNavigable
Egenskaper
namn | Beskrivning |
---|---|
Count { get; } | Hämtar antalet omedelbara barn till denna nod. |
CustomNodeId { get; set; } | Anger anpassad nodidentifierare. |
virtual Document { get; } | Hämtar dokumentet som denna nod tillhör. |
FirstChild { get; } | Får det första barnet i noden. |
HasChildNodes { get; } | ReturnerarSann om denna nod har några undernoder. |
override IsComposite { get; } | ReturnerarSann eftersom denna nod kan ha underordnade noder. |
LastChild { get; } | Hämtar nodens sista underordnade. |
NextSibling { get; } | Hämtar noden omedelbart efter denna nod. |
abstract NodeType { get; } | Hämtar typen av denna nod. |
ParentNode { get; } | Hämtar den omedelbara föräldern till denna nod. |
PreviousSibling { get; } | Hämtar noden omedelbart före denna nod. |
Range { get; } | Returnerar enRange objekt som representerar den del av ett dokument som finns i denna nod. |
Metoder
namn | Beskrivning |
---|---|
abstract Accept(DocumentVisitor) | Accepterar en besökare. |
AppendChild(Node) | Lägger till den angivna noden i slutet av listan över underordnade noder för denna nod. |
Clone(bool) | Skapar en dubblett av noden. |
CreateNavigator() | Skapar navigator som kan användas för att korsa och läsa noder. |
GetAncestor(NodeType) | Hämtar den första förfadern till den angivnaNodeType . |
GetAncestor(Type) | Hämtar den första förfadern till den angivna objekttypen. |
GetChild(NodeType, int, bool) | Returnerar en N:te underordnad nod som matchar den angivna typen. |
GetChildNodes(NodeType, bool) | Returnerar en aktiv samling av underordnade noder som matchar den angivna typen. |
GetEnumerator() | Tillhandahåller stöd för varje stiliteration över undernoderna för denna nod. |
override GetText() | Hämtar texten för denna nod och alla dess underordnade. |
IndexOf(Node) | Returnerar indexet för den angivna undernoden i den underordnade nodmatrisen. |
InsertAfter(Node, Node) | Infogar den angivna noden omedelbart efter den angivna referensnoden. |
InsertBefore(Node, Node) | Infogar den angivna noden omedelbart före den angivna referensnoden. |
NextPreOrder(Node) | Hämtar nästa nod enligt algoritmen för förbeställningsträdet. |
PrependChild(Node) | Lägger till den angivna noden i början av listan över underordnade noder för denna nod. |
PreviousPreOrder(Node) | Hämtar föregående nod enligt algoritmen för förbeställningsträdet. |
Remove() | Tar bort sig själv från föräldern. |
RemoveAllChildren() | Tar bort alla undernoder för den aktuella noden. |
RemoveChild(Node) | Tar bort den angivna underordnade noden. |
RemoveSmartTags() | Tar bort allaSmartTag underliggande noder till den aktuella noden. |
SelectNodes(string) | Väljer en lista med noder som matchar XPath-uttrycket. |
SelectSingleNode(string) | Väljer den förstaNode som matchar XPath-uttrycket. |
ToString(SaveFormat) | Exporterar innehållet i noden till en sträng i angivet format. |
ToString(SaveOptions) | Exporterar innehållet i noden till en sträng med de angivna sparalternativen. |
Anmärkningar
Ett dokument representeras som ett träd av noder, liknande DOM eller XmlDocument.
För mer information se Composite design mönster.
DeCompositeNode
klass:
- Ger åtkomst till barnnoderna.
- Implementerar sammansatta operationer som att sätta in och ta bort barn.
- Tillhandahåller metoder för XPath-navigering.
Exempel
Visar hur man går igenom en sammansatt nods samling av undernoder.
Document doc = new Document();
// Lägg till två körningar och en form som underordnade noder i det första stycket i detta dokument.
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;
// Observera att 'CustomNodeId' inte sparas i en utdatafil och endast existerar under nodens livstid.
shape.CustomNodeId = 100;
shape.WrapType = WrapType.Inline;
paragraph.AppendChild(shape);
paragraph.AppendChild(new Run(doc, "Hello again!"));
// Iterera genom styckets samling av närmaste barn,
// och skriv ut alla körningar eller former som vi hittar inom.
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;
}
Se även
- class Node
- namnutrymme Aspose.Words
- hopsättning Aspose.Words