CompositeNode

CompositeNode — Aspose.Note FOSS for Python API Reference

Klass: CompositeNode

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

CompositeNode ärver Node med förmågan att äga barnnoder. Alla strukturella nodtyper i dokumentmodellen (Document, Page, Outline, OutlineElement, RichText, Image, Table, TableRow, TableCell, AttachedFile) ärver från CompositeNode. Du ska aldrig instansiera CompositeNode direkt.


ImageRenderOptions

Ärvt från Node

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
ParentNode`NodeNone`ImageRenderOptions
Document`DocumentNone`ImageRenderOptions

Egenskaper för åtkomst till undernoder

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
FirstChild`NodeNone`ImageRenderOptions
LastChild`NodeNone`ImageRenderOptions

ImageRenderOptions

AppendChildLast(node)

composite.AppendChildLast(node: Node) -> Node

ImageRenderOptions node som den sista direkta barnet. Sätter node.ParentNode = self. Returnerar node.


AppendChildFirst(node)

composite.AppendChildFirst(node: Node) -> Node

ImageRenderOptions node som den första direkta barnet. Returnerar node.


InsertChild(index, node)

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

ImageRenderOptions node på position index i barnlistan. Returnerar node.


RemoveChild(node)

composite.RemoveChild(node: Node) -> None

ImageRenderOptions node från barnlistan och set node.ParentNode = None.


GetChildNodes(node_type)

composite.GetChildNodes(node_type: type) -> list

Söker rekursivt igenom hela underträdet (djupförst, inklusive self) och returnerar alla noder som matchar node_type. Detta är det primära sättet att samla alla instanser av en given klass inom vilket som helst underträd.


ImageRenderOptions

for child in composite:
    ...

Iterera en CompositeNode ger dess endast direkta barn. Använd GetChildNodes() för en djup sökning.


Exempel på användning

Traversera direkta undernoder vs djup sökning

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

Bygg ett dokument programatiskt

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-säkerhet

FirstChild och LastChild är None när noden inte har några barn. Kontrollera alltid innan du derefererar dem.


Se även

 Svenska