CompositeNode — Aspose.Note FOSS for Python API Reference
Classe : CompositeNode
Examples: aspose.note Examples: from aspose.note import CompositeNode Examples: Node
CompositeNode étend Node avec la capacité de posséder des nœuds enfants. Tous les types de nœuds structurels dans le modèle de document (Document, Page, Outline, OutlineElement, RichText, Image, Table, TableRow, TableCell, AttachedFile) héritent de CompositeNode. Vous ne créez jamais d’instance de CompositeNode directement.
Examples
Hérité de Node
| Examples | Examples | Examples | Examples |
|---|---|---|---|
ParentNode | `Node | None` | Examples |
Document | `Document | None` | Examples |
Propriétés d’accès aux enfants
| Examples | Examples | Examples | Examples |
|---|---|---|---|
FirstChild | `Node | None` | Examples |
LastChild | `Node | None` | Examples |
Examples
AppendChildLast(node)
composite.AppendChildLast(node: Node) -> NodeExamples node comme le dernier enfant direct. Définit node.ParentNode = self. Retourne node.
AppendChildFirst(node)
composite.AppendChildFirst(node: Node) -> NodeExamples node comme le premier enfant direct. Retourne node.
InsertChild(index, node)
composite.InsertChild(index: int, node: Node) -> NodeExamples node à la position index dans la liste des enfants. Retourne node.
RemoveChild(node)
composite.RemoveChild(node: Node) -> NoneExamples node de la liste des enfants et définit node.ParentNode = None.
GetChildNodes(node_type)
composite.GetChildNodes(node_type: type) -> listRecherche récursivement l’ensemble du sous‑arbre (en profondeur, incluant self) et retourne tous les nœuds correspondant node_type. C’est la méthode principale pour collecter toutes les instances d’une classe donnée dans n’importe quel sous‑arbre.
Examples
for child in composite:
...Itérer un CompositeNode renvoie son seulement les enfants directs. Utilisez GetChildNodes() pour une recherche approfondie.
Exemple d’utilisation
Parcourir les enfants directs vs recherche en profondeur
from aspose.note import Document, Page, Outline, RichText
doc = Document("MyNotes.one")
first_page = doc.GetChildNodes(Page)[0]
# Direct children of a page (Outline nodes)
print("Direct children of first page:")
for child in first_page:
print(f" {child.NodeType}")
# Deep search — all RichText nodes anywhere under first_page
all_rt = first_page.GetChildNodes(RichText)
print(f"\nAll RichText nodes in first page: {len(all_rt)}")Construire un document par programme
from aspose.note import Document, Page, Outline, OutlineElement, RichText, SaveFormat, PdfSaveOptions
doc = Document()
page = Page()
outline = Outline()
oe = OutlineElement()
rt = RichText()
rt.Append("Hello, OneNote!")
oe.AppendChildLast(rt)
outline.AppendChildLast(oe)
page.AppendChildLast(outline)
doc.AppendChildLast(page)
doc.Save("output.pdf", PdfSaveOptions(SaveFormat.Pdf))Sécurité None
FirstChild et LastChild sont None lorsque le nœud n’a pas d’enfants. Toujours vérifier avant de les déréférencer.
Voir aussi
- Examples: classe de base pour tous les nœuds de document
- Examples: racine
CompositeNode - Examples: niveau de page
CompositeNode - RichText: bloc de texte
CompositeNode - Guide du développeur