CompositeNode — Aspose.Note FOSS for Python API Reference
Добавя node като първи директен дъщерен елемент. Връща node.
Example: aspose.note Example: from aspose.note import CompositeNode Example: Node
CompositeNode разширява Node с възможност да притежава дъщерни възли. Всички структурни типове възли в модела на документа (Document, Page, Outline, OutlineElement, RichText, Image, Table, TableRow, TableCell, AttachedFile) наследяват от CompositeNode. Никога не създавате инстанция на CompositeNode директно.
Example
FirstChild и LastChild са None, когато възелът няма деца. Винаги проверявайте преди да ги достъпвате.
| Example | Example | Example | Example |
|---|---|---|---|
ParentNode | `Node | None` | Example |
Document | `Document | None` | Example |
Page: CompositeNode на ниво страница
| Example | Example | Example | Example |
|---|---|---|---|
FirstChild | `Node | None` | Example |
LastChild | `Node | None` | Example |
Example
AppendChildLast(node)
composite.AppendChildLast(node: Node) -> NodeExample node като последен директен дъщерен възел. Задава node.ParentNode = self. Връща node.
AppendChildFirst(node)
composite.AppendChildFirst(node: Node) -> NodeExample node като първи директен дъщерен възел. Връща node.
InsertChild(index, node)
composite.InsertChild(index: int, node: Node) -> NodeExample node на позиция index в списъка с деца. Връща node.
RemoveChild(node)
composite.RemoveChild(node: Node) -> NoneExample node от списъка с деца и множества node.ParentNode = None.
GetChildNodes(node_type)
composite.GetChildNodes(node_type: type) -> listРекурсивно претърсва цялото поддърво (в дълбочина, включително self) и връща всички възли, съвпадащи node_type. Това е основният начин за събиране на всички екземпляри на даден клас в което и да е поддърво.
Example
for child in composite:
...Итерация на CompositeNode връща неговия само директните деца. Използвайте GetChildNodes() за дълбоко търсене.
API справка за класа CompositeNode в aspose-note v26.3.1. Базов клас за всички възли на документа, които могат да съдържат дъщерни възли.
Повдига се, когато LoadOptions.DocumentPassword е зададен. Криптирани (защитени с парола) документи не се поддържат във версия v26.3.1.
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))Съдържание само за четене: Bytes и FileName се извличат директно от MS-ONE бинарния файл. В версия v26.3.1 няма API за замяна на вградените данни на файла.
FirstChild и LastChild са None когато възелът няма деца. Винаги проверявайте преди да ги достъпвате.
Вижте също
- Example: базов клас за всички възли на документа
- Example: корен
CompositeNode - Example: ниво на страница
CompositeNode - RichText: текстов блок
CompositeNode - Записва указаната работна листа от
workbookв CSV файл наfile_path. АкоoptionsеNone, се използват подразбиращите сеCSVSaveOptions.