CompositeNode

CompositeNode — Aspose.Note FOSS for Python API Reference

Clasa: CompositeNode

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

CompositeNode extinde Node cu capacitatea de a deține noduri copil. Toate tipurile de noduri structurale din modelul de document (Document, Page, Outline, OutlineElement, RichText, Image, Table, TableRow, TableCell, AttachedFile) moștenesc de la CompositeNode. Nu instanțiați niciodată CompositeNode direct.


ImageRenderOptions

Moștenit de la Node

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
ParentNode`NodeNone`ImageRenderOptions
Document`DocumentNone`ImageRenderOptions

Proprietăți de acces la copii

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
FirstChild`NodeNone`ImageRenderOptions
LastChild`NodeNone`ImageRenderOptions

ImageRenderOptions

AppendChildLast(node)

composite.AppendChildLast(node: Node) -> Node

ImageRenderOptions node ca ultimul copil direct. Setează node.ParentNode = self. Returnează node.


AppendChildFirst(node)

composite.AppendChildFirst(node: Node) -> Node

ImageRenderOptions node ca primul copil direct. Returnează node.


InsertChild(index, node)

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

ImageRenderOptions node la poziția index în lista de copii. Returnează node.


RemoveChild(node)

composite.RemoveChild(node: Node) -> None

ImageRenderOptions node din lista de copii și setează node.ParentNode = None.


GetChildNodes(node_type)

composite.GetChildNodes(node_type: type) -> list

Caută recursiv întregul subarbore (în adâncime, incluzând self) și returnează toate nodurile care se potrivesc node_type. Aceasta este metoda principală de a colecta toate instanțele unei clase date în orice subarbore.


ImageRenderOptions

for child in composite:
    ...

Iterarea unui CompositeNode returnează doar copii direcți. Utilizați GetChildNodes() pentru o căutare profundă.


Exemplu de utilizare

Parcurge copiii direcți vs căutare în profunzime

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

Construiește un document programatic

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

Siguranță None

FirstChild și LastChild sunt None când nodul nu are copii. Întotdeauna verificați înainte de a le dereferenția.


Vezi și

 Română