CompositeNode
CompositeNode class
Classe de base pour les nœuds pouvant contenir d’autres nœuds.
Pour en savoir plus, visitez leModèle objet de document (DOM) Aspose.Words article documentaire.
public abstract class CompositeNode : Node, IEnumerable<Node>, IXPathNavigable
Propriétés
Nom | La 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 unRange objet qui représente la partie d’un document contenue dans ce nœud. |
Méthodes
Nom | La description |
---|---|
abstract Accept(DocumentVisitor) | Accepte un visiteur. |
AppendChild(Node) | Ajoute le nœud spécifié à la fin de la liste des nœuds enfants pour ce nœud. |
Clone(bool) | Crée un duplicata du nœud. |
CreateNavigator() | Crée un navigateur qui peut être utilisé pour parcourir et lire des 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 la prise en charge de chaque itération de style sur les nœuds enfants de ce nœud. |
override GetText() | Récupère 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(Node, Node) | Insère le nœud spécifié immédiatement après le nœud de référence spécifié. |
InsertBefore(Node, 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 traversée de l’arbre de pré-commande. |
PrependChild(Node) | 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 traversée d’arbre de pré-commande. |
Remove() | Se supprime du parent. |
RemoveAllChildren() | Supprime tous les nœuds enfants du nœud actuel. |
RemoveChild(Node) | 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 à l’aide des options de sauvegarde spécifiées. |
Remarques
Un document est représenté sous la forme d’une arborescence de nœuds, similaire au 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 tracés 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 imprimons toutes les courses 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
- class Node
- espace de noms Aspose.Words
- Assemblée Aspose.Words