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 keupayaan untuk memiliki nod anak. Semua jenis nod struktur dalam model dokumen (Document, Page, Outline, OutlineElement, RichText, Image, Table, TableRow, TableCell, AttachedFile) mewarisi dari CompositeNode. Anda tidak pernah menginstansiasi CompositeNode secara langsung.
ImageRenderOptions
Dewarisi daripada Node
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
ParentNode | `Node | None` | ImageRenderOptions |
Document | `Document | None` | ImageRenderOptions |
Sifat 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. Menetapkan 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 kedudukan index dalam senarai anak. Mengembalikan node.
RemoveChild(node)
composite.RemoveChild(node: Node) -> NoneImageRenderOptions node daripada senarai anak dan set node.ParentNode = None.
GetChildNodes(node_type)
composite.GetChildNodes(node_type: type) -> listMencari secara rekursif seluruh subpokok (depth-first, termasuk self) dan mengembalikan semua nod yang sepadan node_type. Ini adalah cara utama untuk mengumpulkan semua contoh kelas tertentu dalam mana-mana subpokok.
ImageRenderOptions
for child in composite:
...Mengiterasi satu CompositeNode menghasilkan anak langsung sahaja. Gunakan GetChildNodes() untuk carian mendalam.
Contoh Penggunaan
Lalui 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)}")Bina 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))None-Safety
FirstChild dan LastChild adalah None apabila nod tidak mempunyai anak. Sentiasa lindungi sebelum menyingkirkannya.
Lihat Juga
- ImageRenderOptions: kelas asas untuk semua nod dokumen
- ImageRenderOptions: akar
CompositeNode - ImageRenderOptions: peringkat halaman
CompositeNode - RichText: blok teks
CompositeNode - Panduan Pembangun