CompositeNode

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

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
ParentNode`NodeNone`ImageRenderOptions
Document`DocumentNone`ImageRenderOptions

Sifat Akses Anak

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
FirstChild`NodeNone`ImageRenderOptions
LastChild`NodeNone`ImageRenderOptions

ImageRenderOptions

AppendChildLast(node)

composite.AppendChildLast(node: Node) -> Node

ImageRenderOptions node sebagai anak langsung terakhir. Menetapkan node.ParentNode = self. Mengembalikan node.


AppendChildFirst(node)

composite.AppendChildFirst(node: Node) -> Node

ImageRenderOptions node sebagai anak langsung pertama. Mengembalikan node.


InsertChild(index, node)

composite.InsertChild(index: int, node: Node) -> Node

ImageRenderOptions node pada kedudukan index dalam senarai anak. Mengembalikan node.


RemoveChild(node)

composite.RemoveChild(node: Node) -> None

ImageRenderOptions node daripada senarai anak dan set node.ParentNode = None.


GetChildNodes(node_type)

composite.GetChildNodes(node_type: type) -> list

Mencari 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

 Bahasa Melayu