CompositeNode

CompositeNode — Aspose.Note FOSS for Python API Reference

Klasse: CompositeNode

ImageRenderOptions: aspose.note ImageRenderOptions: from aspose.note import CompositeNode ImageRenderOptions: Node

CompositeNode breidt uit Node met de mogelijkheid om kindknooppunten te bezitten. Alle structurele knooppunttypen in het documentmodel (Document, Page, Outline, OutlineElement, RichText, Image, Table, TableRow, TableCell, AttachedFile) erven van CompositeNode. Je maakt nooit een instantie van CompositeNode direct.


ImageRenderOptions

Geërfd van Node

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
ParentNode`NodeNone`ImageRenderOptions
Document`DocumentNone`ImageRenderOptions

Eigenschappen voor kindtoegang

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
FirstChild`NodeNone`ImageRenderOptions
LastChild`NodeNone`ImageRenderOptions

ImageRenderOptions

AppendChildLast(node)

composite.AppendChildLast(node: Node) -> Node

ImageRenderOptions node als het laatste directe kind. Stelt node.ParentNode = self. Retourneert node.


AppendChildFirst(node)

composite.AppendChildFirst(node: Node) -> Node

ImageRenderOptions node als het eerste directe kind. Retourneert node.


InsertChild(index, node)

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

ImageRenderOptions node op positie index in de kinderlijst. Retourneert node.


RemoveChild(node)

composite.RemoveChild(node: Node) -> None

ImageRenderOptions node van de kinderlijst en sets node.ParentNode = None.


GetChildNodes(node_type)

composite.GetChildNodes(node_type: type) -> list

Zoekt recursief de volledige subboom (diepte-eerst, inclusief self) en retourneert alle knooppunten die overeenkomen met node_type. Dit is de primaire manier om alle instanties van een gegeven klasse binnen elke subboom te verzamelen.


ImageRenderOptions

for child in composite:
    ...

Itereren over een CompositeNode geeft zijn alleen directe kinderen. Gebruik GetChildNodes() voor een diepe zoekopdracht.


Gebruikvoorbeeld

Doorloop directe kinderen vs diepe zoekopdracht

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)}")

Bouw een document programmatisch

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))

None-veiligheid

FirstChild en LastChild zijn None wanneer het knooppunt geen kinderen heeft. Zorg altijd voor een controle voordat u ze dereferentieert.


Zie ook

 Nederlands