CompositeNode — Aspose.Note FOSS for Python API Reference
מחלקה: CompositeNode
ImageRenderOptions: aspose.note ImageRenderOptions: from aspose.note import CompositeNode ImageRenderOptions: Node
CompositeNode מרחיב Node עם היכולת להחזיק צמתים ילדים. כל סוגי הצמתים המבניים במודל המסמך (Document, Page, Outline, OutlineElement, RichText, Image, Table, TableRow, TableCell, AttachedFile) יורשים מ CompositeNode. לעולם לא תיצור מופע של CompositeNode ישירות.
ImageRenderOptions
יורש מ-Node
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
ParentNode | `Node | None` | ImageRenderOptions |
Document | `Document | None` | ImageRenderOptions |
מאפייני גישה לילדים
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
FirstChild | `Node | None` | ImageRenderOptions |
LastChild | `Node | None` | ImageRenderOptions |
ImageRenderOptions
AppendChildLast(node)
composite.AppendChildLast(node: Node) -> NodeImageRenderOptions node כצומת ילד ישיר אחרון. מגדיר node.ParentNode = self. מחזיר node.
AppendChildFirst(node)
composite.AppendChildFirst(node: Node) -> NodeImageRenderOptions node כצומת ילד ישיר ראשון. מחזיר node.
InsertChild(index, node)
composite.InsertChild(index: int, node: Node) -> NodeImageRenderOptions node במיקום index ברשימת הילדים. מחזיר node.
RemoveChild(node)
composite.RemoveChild(node: Node) -> NoneImageRenderOptions node מתוך רשימת הילדים והקבוצות node.ParentNode = None.
GetChildNodes(node_type)
composite.GetChildNodes(node_type: type) -> listמחפש באופן רקורסיבי את כל תת-העץ (בצורת עומק ראשון, כולל self) ומחזיר את כל הצמתים המתאימים node_type. זוהי הדרך העיקרית לאסוף את כל המופעים של מחלקה נתונה בתוך כל תת-עץ.
ImageRenderOptions
for child in composite:
...איטרציה של CompositeNode מחזירה את הילדים הישירים בלבד. השתמש GetChildNodes() לחיפוש עמוק.
דוגמת שימוש
מעבר על ילדים ישירים מול חיפוש עמוק
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)}")בנה מסמך באופן תכנותי
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
FirstChild ו LastChild הם None כאשר לצומת אין ילדים. תמיד יש לבדוק לפני גישה אליהם.
ראה גם
- ImageRenderOptions: מחלקת בסיס לכל צמתים של מסמך
- ImageRenderOptions: שורש
CompositeNode - ImageRenderOptions: ברמת דף
CompositeNode - RichText: בלוק טקסט
CompositeNode - מדריך למפתחים