CompositeNode

CompositeNode class

Classe de base pour les nœuds pouvant contenir d’autres nœuds.

Pour en savoir plus, visitez leModèle d’objet de document (DOM) Aspose.Words article de documentation.

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

Propriétés

NomLa description
Count { get; }Obtient le nombre d’enfants immédiats de ce nœud.
CustomNodeId { get; set; }Spécifie l’identifiant de nœud personnalisé.
virtual Document { get; }Obtient le document auquel appartient ce nœud.
FirstChild { get; }Obtient le premier enfant du nœud.
HasChildNodes { get; }Retoursvrai si ce nœud a des nœuds enfants.
override IsComposite { get; }Retoursvrai car ce nœud peut avoir des nœuds enfants.
LastChild { get; }Obtient le dernier enfant du nœud.
NextSibling { get; }Obtient le nœud suivant immédiatement ce nœud.
abstract NodeType { get; }Obtient le type de ce nœud.
ParentNode { get; }Obtient le parent immédiat de ce nœud.
PreviousSibling { get; }Obtient le nœud précédant immédiatement ce nœud.
Range { get; }Renvoie unRangeobjet qui représente la partie d’un document contenue dans ce nœud.

Méthodes

NomLa description
abstract Accept(DocumentVisitor)Accepte un visiteur.
abstract AcceptEnd(DocumentVisitor)Lorsqu’il est implémenté dans une classe dérivée, appelle la méthode VisitXXXEnd du visiteur du document spécifié.
abstract AcceptStart(DocumentVisitor)Lorsqu’il est implémenté dans une classe dérivée, appelle la méthode VisitXXXStart du visiteur du document spécifié.
AppendChild<T>(T)Ajoute le nœud spécifié à la fin de la liste des nœuds enfants pour ce nœud.
Clone(bool)Crée un doublon du nœud.
CreateNavigator()Crée un navigateur qui peut être utilisé pour parcourir et lire les nœuds.
GetAncestor(NodeType)Obtient le premier ancêtre du spécifiéNodeType .
GetAncestor(Type)Obtient le premier ancêtre du type d’objet spécifié.
GetChild(NodeType, int, bool)Renvoie un Nième nœud enfant qui correspond au type spécifié.
GetChildNodes(NodeType, bool)Renvoie une collection active de nœuds enfants qui correspondent au type spécifié.
GetEnumerator()Fournit un support pour chaque itération de style sur les nœuds enfants de ce nœud.
override GetText()Obtient le texte de ce nœud et de tous ses enfants.
IndexOf(Node)Renvoie l’index du nœud enfant spécifié dans le tableau de nœuds enfants.
InsertAfter<T>(T, Node)Insère le nœud spécifié immédiatement après le nœud de référence spécifié.
InsertBefore<T>(T, Node)Insère le nœud spécifié immédiatement avant le nœud de référence spécifié.
NextPreOrder(Node)Obtient le nœud suivant selon l’algorithme de parcours de l’arbre de pré-ordre.
PrependChild<T>(T)Ajoute le nœud spécifié au début de la liste des nœuds enfants pour ce nœud.
PreviousPreOrder(Node)Obtient le nœud précédent selon l’algorithme de parcours de l’arbre de pré-ordre.
Remove()Se supprime du parent.
RemoveAllChildren()Supprime tous les nœuds enfants du nœud actuel.
RemoveChild<T>(T)Supprime le nœud enfant spécifié.
RemoveSmartTags()Supprime toutSmartTag nœuds descendants du nœud actuel.
SelectNodes(string)Sélectionne une liste de nœuds correspondant à l’expression XPath.
SelectSingleNode(string)Sélectionne le premierNode qui correspond à l’expression XPath.
ToString(SaveFormat)Exporte le contenu du nœud dans une chaîne au format spécifié.
ToString(SaveOptions)Exporte le contenu du nœud dans une chaîne en utilisant les options de sauvegarde spécifiées.

Remarques

Un document est représenté comme un arbre de nœuds, similaire à DOM ou XmlDocument.

Pour plus d’informations, consultez le modèle de conception composite.

LeCompositeNode classe:

  • Fournit l’accès aux nœuds enfants.
  • Implémente des opérations composites telles que l’insertion et la suppression d’enfants.
  • Fournit des méthodes pour la navigation XPath.

Exemples

Montre comment parcourir la collection de nœuds enfants d’un nœud composite.

Document doc = new Document();

// Ajoutez deux exécutions et une forme en tant que nœuds enfants au premier paragraphe de ce document.
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;
// Notez que le « CustomNodeId » n'est pas enregistré dans un fichier de sortie et n'existe que pendant la durée de vie du nœud.
shape.CustomNodeId = 100;
shape.WrapType = WrapType.Inline;
paragraph.AppendChild(shape);

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

// Parcourir la collection d'enfants immédiats du paragraphe,
// et imprimez toutes les séquences ou formes que nous trouvons à l'intérieur.
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;
    }

Voir également