CompositeNode — Aspose.Note FOSS for Python API Reference
Kelas: CompositeNode
ImageRenderOptions: aspose.note ImageRenderOptions: from aspose.note import CompositeNode ImageRenderOptions: Node
CompositeNode memperluas Node dengan kemampuan untuk memiliki node anak. Semua tipe node struktural dalam model dokumen (Document, Page, Outline, OutlineElement, RichText, Image, Table, TableRow, TableCell, AttachedFile) mewarisi dari CompositeNode. Anda tidak pernah menginstansiasi CompositeNode secara langsung.
ImageRenderOptions
Mewarisi dari Node
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
ParentNode | `Node | None` | ImageRenderOptions |
Document | `Document | None` | ImageRenderOptions |
Properti Akses-Anak
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
FirstChild | `Node | None` | ImageRenderOptions |
LastChild | `Node | None` | ImageRenderOptions |
ImageRenderOptions
AppendChildLast(node)
composite.AppendChildLast(node: Node) -> NodeImageRenderOptions node sebagai anak langsung terakhir. Mengatur node.ParentNode = self. Mengembalikan node.
AppendChildFirst(node)
composite.AppendChildFirst(node: Node) -> NodeImageRenderOptions node sebagai anak langsung pertama. Mengembalikan node.
InsertChild(index, node)
composite.InsertChild(index: int, node: Node) -> NodeImageRenderOptions node pada posisi index dalam daftar anak. Mengembalikan node.
RemoveChild(node)
composite.RemoveChild(node: Node) -> NoneImageRenderOptions node dari daftar anak dan set node.ParentNode = None.
GetChildNodes(node_type)
composite.GetChildNodes(node_type: type) -> listMencari secara rekursif seluruh subtree (depth-first, termasuk self) dan mengembalikan semua node yang cocok node_type. Ini adalah cara utama untuk mengumpulkan semua instance dari kelas tertentu dalam subtree mana pun.
ImageRenderOptions
for child in composite:
...Mengiterasi sebuah CompositeNode menghasilkan hanya anak langsung. Gunakan GetChildNodes() untuk pencarian mendalam.
Contoh Penggunaan
Menelusuri anak langsung vs pencarian mendalam
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)}")Membangun dokumen secara programatik
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))Keamanan None
FirstChild dan LastChild adalah None ketika node tidak memiliki anak. Selalu periksa sebelum mendereferensikannya.
Lihat Juga
- ImageRenderOptions: kelas dasar untuk semua node dokumen
- ImageRenderOptions: akar
CompositeNode - ImageRenderOptions: tingkat halaman
CompositeNode - RichText: blok teks
CompositeNode - Panduan Pengembang