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
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
ParentNode | `Node | None` | ImageRenderOptions |
Document | `Document | None` | ImageRenderOptions |
Egenskaper för åtkomst till undernoder
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
FirstChild | `Node | None` | ImageRenderOptions |
LastChild | `Node | None` | ImageRenderOptions |
ImageRenderOptions
AppendChildLast(node)
composite.AppendChildLast(node: Node) -> NodeImageRenderOptions node som den sista direkta barnet. Sätter node.ParentNode = self. Returnerar node.
AppendChildFirst(node)
composite.AppendChildFirst(node: Node) -> NodeImageRenderOptions node som den första direkta barnet. Returnerar node.
InsertChild(index, node)
composite.InsertChild(index: int, node: Node) -> NodeImageRenderOptions node på position index i barnlistan. Returnerar node.
RemoveChild(node)
composite.RemoveChild(node: Node) -> NoneImageRenderOptions node från barnlistan och set node.ParentNode = None.
GetChildNodes(node_type)
composite.GetChildNodes(node_type: type) -> listSö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
- ImageRenderOptions: basklass för alla dokumentnoder
- ImageRenderOptions: rot
CompositeNode - ImageRenderOptions: sidnivå
CompositeNode - RichText: textblock
CompositeNode - Utvecklarguide