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

ExamplesExamplesExamplesExamples
ParentNode`NodeNone`Examples
Document`DocumentNone`Examples

Propriétés d’accès aux enfants

ExamplesExamplesExamplesExamples
FirstChild`NodeNone`Examples
LastChild`NodeNone`Examples

Examples

AppendChildLast(node)

composite.AppendChildLast(node: Node) -> Node

Examples node comme le dernier enfant direct. Définit node.ParentNode = self. Retourne node.


AppendChildFirst(node)

composite.AppendChildFirst(node: Node) -> Node

Examples node comme le premier enfant direct. Retourne node.


InsertChild(index, node)

composite.InsertChild(index: int, node: Node) -> Node

Examples node à la position index dans la liste des enfants. Retourne node.


RemoveChild(node)

composite.RemoveChild(node: Node) -> None

Examples node de la liste des enfants et définit node.ParentNode = None.


GetChildNodes(node_type)

composite.GetChildNodes(node_type: type) -> list

Recherche 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

 Français