CompositeNode

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로부터 상속됨

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
ParentNode`NodeNone`ImageRenderOptions
Document`DocumentNone`ImageRenderOptions

자식 접근 속성

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
FirstChild`NodeNone`ImageRenderOptions
LastChild`NodeNone`ImageRenderOptions

ImageRenderOptions

AppendChildLast(node)

composite.AppendChildLast(node: Node) -> Node

ImageRenderOptions node 마지막 직접 자식으로 설정합니다. 설정 node.ParentNode = self. 반환 node.


AppendChildFirst(node)

composite.AppendChildFirst(node: Node) -> Node

ImageRenderOptions node 첫 번째 직접 자식으로 반환합니다. 반환 node.


InsertChild(index, node)

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

ImageRenderOptions node 위치에 index 자식 목록에서. 반환 node.


RemoveChild(node)

composite.RemoveChild(node: Node) -> None

ImageRenderOptions node 자식 목록 및 집합에서 node.ParentNode = None.


GetChildNodes(node_type)

composite.GetChildNodes(node_type: type) -> list

전체 서브트리를 재귀적으로 검색합니다 (깊이 우선, 포함 self) 및 일치하는 모든 노드를 반환합니다 node_type. 이는 어떤 서브트리 내에서도 특정 클래스의 모든 인스턴스를 수집하는 주요 방법입니다.


ImageRenderOptions

for child in composite:
    ...

a를 반복하면 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)}")

프로그램matically 문서를 빌드하기

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 노드에 자식이 없을 때. 역참조하기 전에 항상 확인하십시오.


참고

 한국어