CompositeNode
Contenido
[
Ocultar
]CompositeNode class
Clase base para nodos que pueden contener otros nodos.
Para obtener más información, visite elModelo de objetos de documento (DOM) de Aspose.Words Artículo de documentación.
public abstract class CompositeNode : Node, IEnumerable<Node>, IXPathNavigable
Propiedades
Nombre | Descripción |
---|---|
Count { get; } | Obtiene el número de hijos inmediatos de este nodo. |
CustomNodeId { get; set; } | Especifica un identificador de nodo personalizado. |
virtual Document { get; } | Obtiene el documento al que pertenece este nodo. |
FirstChild { get; } | Obtiene el primer hijo del nodo. |
HasChildNodes { get; } | Devuelveverdadero si este nodo tiene nodos secundarios. |
override IsComposite { get; } | Devuelveverdadero ya que este nodo puede tener nodos secundarios. |
LastChild { get; } | Obtiene el último hijo del nodo. |
NextSibling { get; } | Obtiene el nodo inmediatamente siguiente a este nodo. |
abstract NodeType { get; } | Obtiene el tipo de este nodo. |
ParentNode { get; } | Obtiene el padre inmediato de este nodo. |
PreviousSibling { get; } | Obtiene el nodo inmediatamente anterior a este nodo. |
Range { get; } | Devuelve unRange objeto que representa la porción de un documento que está contenida en este nodo. |
Métodos
Nombre | Descripción |
---|---|
abstract Accept(DocumentVisitor) | Acepta un visitante. |
abstract AcceptEnd(DocumentVisitor) | Cuando se implementa en una clase derivada, llama al método VisitXXXEnd del visitante del documento especificado. |
abstract AcceptStart(DocumentVisitor) | Cuando se implementa en una clase derivada, llama al método VisitXXXStart del visitante del documento especificado. |
AppendChild<T>(T) | Agrega el nodo especificado al final de la lista de nodos secundarios para este nodo. |
Clone(bool) | Crea un duplicado del nodo. |
CreateNavigator() | Crea un navegador que puede utilizarse para recorrer y leer nodos. |
GetAncestor(NodeType) | Obtiene el primer ancestro del especificadoNodeType . |
GetAncestor(Type) | Obtiene el primer ancestro del tipo de objeto especificado. |
GetChild(NodeType, int, bool) | Devuelve un nodo secundario N que coincide con el tipo especificado. |
GetChildNodes(NodeType, bool) | Devuelve una colección activa de nodos secundarios que coinciden con el tipo especificado. |
GetEnumerator() | Proporciona soporte para cada iteración de estilo sobre los nodos secundarios de este nodo. |
override GetText() | Obtiene el texto de este nodo y de todos sus hijos. |
IndexOf(Node) | Devuelve el índice del nodo secundario especificado en la matriz de nodos secundarios. |
InsertAfter<T>(T, Node) | Inserta el nodo especificado inmediatamente después del nodo de referencia especificado. |
InsertBefore<T>(T, Node) | Inserta el nodo especificado inmediatamente antes del nodo de referencia especificado. |
NextPreOrder(Node) | Obtiene el siguiente nodo según el algoritmo de recorrido del árbol de preorden. |
PrependChild<T>(T) | Agrega el nodo especificado al comienzo de la lista de nodos secundarios para este nodo. |
PreviousPreOrder(Node) | Obtiene el nodo anterior según el algoritmo de recorrido del árbol de preorden. |
Remove() | Se elimina a sí mismo del padre. |
RemoveAllChildren() | Elimina todos los nodos secundarios del nodo actual. |
RemoveChild<T>(T) | Elimina el nodo secundario especificado. |
RemoveSmartTags() | Elimina todoSmartTag nodos descendientes del nodo actual. |
SelectNodes(string) | Selecciona una lista de nodos que coinciden con la expresión XPath. |
SelectSingleNode(string) | Selecciona el primerNode que coincide con la expresión XPath. |
ToString(SaveFormat) | Exporta el contenido del nodo en una cadena en el formato especificado. |
ToString(SaveOptions) | Exporta el contenido del nodo en una cadena utilizando las opciones de guardado especificadas. |
Observaciones
Un documento se representa como un árbol de nodos, similar a DOM o XmlDocument.
Para obtener más información, consulte el patrón de diseño compuesto.
ElCompositeNode
clase:
- Proporciona acceso a los nodos secundarios.
- Implementa operaciones compuestas como insertar y eliminar elementos secundarios.
- Proporciona métodos para la navegación XPath.
Ejemplos
Muestra cómo recorrer la colección de nodos secundarios de un nodo compuesto.
Document doc = new Document();
// Agregue dos ejecuciones y una forma como nodos secundarios al primer párrafo de este documento.
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;
// Tenga en cuenta que 'CustomNodeId' no se guarda en un archivo de salida y solo existe durante la vida útil del nodo.
shape.CustomNodeId = 100;
shape.WrapType = WrapType.Inline;
paragraph.AppendChild(shape);
paragraph.AppendChild(new Run(doc, "Hello again!"));
// Iterar a través de la colección de hijos inmediatos del párrafo,
// e imprimir cualquier recorrido o forma que encontremos dentro.
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;
}
Ver también
- class Node
- espacio de nombres Aspose.Words
- asamblea Aspose.Words