CompositeNode — Aspose.Note FOSS for Python API Reference
Klasa: CompositeNode
ColladaSaveOptions: aspose.note ColladaSaveOptions: from aspose.note import CompositeNode ColladaSaveOptions: Node
CompositeNode proširuje Node s mogućnošću posjedovanja podčvorova. Svi strukturalni tipovi čvorova u modelu dokumenta (Document, Page, Outline, OutlineElement, RichText, Image, Table, TableRow, TableCell, AttachedFile) nasljeđuje od CompositeNode. Nikada ne instancirate CompositeNode izravno.
ColladaSaveOptions
Naslijeđeno od Node
| ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions |
|---|---|---|---|
ParentNode | `Node | None` | ColladaSaveOptions |
Document | `Document | None` | ColladaSaveOptions |
Svojstva pristupa podčvorovima
| ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions |
|---|---|---|---|
FirstChild | `Node | None` | ColladaSaveOptions |
LastChild | `Node | None` | ColladaSaveOptions |
ColladaSaveOptions
AppendChildLast(node)
composite.AppendChildLast(node: Node) -> NodeColladaSaveOptions node kao posljednji izravni podčvor. Postavlja node.ParentNode = self. Vraća node.
AppendChildFirst(node)
composite.AppendChildFirst(node: Node) -> NodeColladaSaveOptions node kao prvi izravni podčvor. Vraća node.
InsertChild(index, node)
composite.InsertChild(index: int, node: Node) -> NodeColladaSaveOptions node na poziciji index u popisu podčvorova. Vraća node.
RemoveChild(node)
composite.RemoveChild(node: Node) -> NoneColladaSaveOptions node iz popisa djece i skupova node.ParentNode = None.
GetChildNodes(node_type)
composite.GetChildNodes(node_type: type) -> listRekurzivno pretražuje cijelo podstablo (pretraživanje po dubini, uključujući self) i vraća sve čvorove koji odgovaraju node_type. Ovo je primarni način za prikupljanje svih instanci određene klase unutar bilo kojeg podstabla.
ColladaSaveOptions
for child in composite:
...Iteriranje a CompositeNode vraća njegovu samo izravna djeca. Upotrijebite GetChildNodes() za duboko pretraživanje.
Primjer upotrebe
Prolazak kroz izravne podčvorove vs dubinsko pretraživanje
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)}")Izgradite dokument programatski
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))Sigurnost od None
FirstChild i LastChild su None kad čvor nema djecu. Uvijek provjerite prije dereferenciranja.
Vidi također
- ColladaSaveOptions: osnovna klasa za sve čvorove dokumenta
- ColladaSaveOptions: korijen
CompositeNode - ColladaSaveOptions: razina stranice
CompositeNode - RichText: tekstualni blok
CompositeNode - Cells Python API Reference početna