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() για μια βαθιά αναζήτηση.
Παράδειγμα Χρήσης
Διαπέραση άμεσων υποκόμβων vs βαθιά αναζήτηση
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 - Οδηγός Προγραμματιστή