CompositeNode — Aspose.Note FOSS for Python API Reference
Klasa: CompositeNode
: aspose.note : from aspose.note import CompositeNode : Node
CompositeNode proširuje Node sa mogućnošću da poseduje čvorove‑deca. Svi strukturalni tipovi čvorova u modelu dokumenta (Document, Page, Outline, OutlineElement, RichText, Image, Table, TableRow, TableCell, AttachedFile) nasleđuju od CompositeNode. Nikada ne instancirate CompositeNode direktno.
Nasleđeno od Node
ParentNode | `Node | None` | |
Document | `Document | None` |
Svojstva za pristup podčvorovima
FirstChild | `Node | None` | |
LastChild | `Node | None` |
AppendChildLast(node)
composite.AppendChildLast(node: Node) -> Nodenode kao poslednje direktno dete. Postavlja node.ParentNode = self. Vraća node.AppendChildFirst(node)
composite.AppendChildFirst(node: Node) -> Nodenode kao prvo direktno dete. Vraća node.InsertChild(index, node)
composite.InsertChild(index: int, node: Node) -> Nodenode na poziciji index u listi dece. Vraća node.RemoveChild(node)
composite.RemoveChild(node: Node) -> Nonenode iz liste dece i skupova node.ParentNode = None.GetChildNodes(node_type)
composite.GetChildNodes(node_type: type) -> listRekurzivno pretražuje čitavu podstablo (dubinski, uključujući self) i vraća sve čvorove koji se podudaraju node_type. Ovo je primarni način za prikupljanje svih instanci određene klase unutar bilo kog podstabla.
for child in composite:
...Iteriranje CompositeNode vraća njegov samo direktnu decu. Koristite GetChildNodes() za duboku pretragu.
Primer upotrebe
Prolazak kroz direktne podčvorove naspram dubinskog pretraživanja
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)}")Programski izgradite dokument
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-Safety
FirstChild i LastChild su None kada čvor nema decu. Uvek proverite pre dereferenciranja.
Vidi i
- : bazna klasa za sve čvorove dokumenta
- : koren
CompositeNode - : nivo stranice
CompositeNode - RichText: blok teksta
CompositeNode - Vodič za programere