Giới thị

Lớp DOM là lõi của Aspose.HTML FOSS cho Python. Nó mô phổng một trang HTML theo cách mà các tiền chuẩn làm — như một cây gồm các nút Document, Element, Text, Comment và DocumentFragment — và cung cấp cho bạn các thao tác để xây dựng, kiểm tra và sắp xếp lại cây đó từ mã Python, mà không cần trinh duyệt trong vợng lặp.

Bài viết này hướng dẫn các tính năng chính của DOM: tạo nút, quản lý thuộc tính, di chuyển các nhành cây bằng các thao tác Node, phân tích các đoạn, và trả lại các phần tử một khi cây đã được xây dựng. Tất cả những gì được trình bày ở đây được đống gói trong gói aspose-html-foss trên PyPI, có giấy phép MIT, và chạy trong Python thuận trên phiến bản 3.10 trỏ lên.


Các tính năng chính

Tạo tài liệu và phần tử

Document là nhà máy tạo nút: create_element() cho phần tử, create_text_node() cho văn bản, create_comment() cho chú thích, và create_document_fragment() cho các container nhẹ. Các nút mới được gắn vào cây bằng append_child():

from aspose_html.dom import Document
doc = Document()
el = doc.create_element("div")
doc.append_child(el)

Quản lý thuộc tính

Các thuộc tính được chuyển qua Element.set_attribute(), get_attribute(), has_attribute(), và remove_attribute(). Lớp Attr mô hình hoá các nút thuộc tính riêng lẻ khi bạn cần chúng dưới dạng đối tượng thay vì chuỗi:

from aspose_html.dom import Document
doc = Document()
el = doc.create_element("div")
el.set_attribute("class", "foo")
el.set_attribute("id", "bar")
doc.append_child(el)

Các thao tác cây trên nút

Mỗi nút kế thừa bộ công cụ cây tiêu chuẩn từ Node: insert_before(), remove_child(), replace_child(), clone_node(), và contains() để thay đổi và kiểm tra cấu trúc, cộng với child_nodes, parent_node, và first_child để duyệt, và text_content để đọc hoặc gán văn bản của một nhánh cây. get_root_node()has_child_nodes() trả lời trực tiếp các câu hỏi cấu trúc thường gặp.

Phân tích các đoạn và đánh dấu liền kề

HTMLDocument.parse() xử lý các trang hoàn chỉnh và HTMLDocument.parse_fragment() xử lý đánh dấu phần tử. Đối với việc chèn chính xác tương đối với một phần tử hiện có, Element cung cấp insert_adjacent_html(), insert_adjacent_text(), và insert_adjacent_element() — chuẩn chèn bốn vị trí API. Document.import_node()adopt_node() di chuyển các nút giữa các tài liệu.

Tra cứu và đọc lại

Document.get_element_by_id() truy xuất một phần tử theo thuộc tính id của nó. Khi kết hợp với việc truy cập kiểu đã tính toán từ lớp CSSOM, bạn có thể xác minh nội dung của một nhánh cây và cách nó sẽ được định kiểu:

from aspose_html.dom import Document
from aspose_html.cssom import CSSStyleSheet
doc = Document()
el = doc.create_element("div")
el.set_attribute("id", "bar")
doc.append_child(el)
sheet = CSSStyleSheet()
sheet.replace_sync("#bar { color: blue }")
doc.attach_style_sheet(sheet)
style = el.get_computed_style()
print(style.get_property_value("color"))

Bắt đầu nhanh

Cài đặt từ PyPI:

asposefoss/html is not yet published — build from source until it ships. See the project README for build instructions.

Xây dựng một cây nhỏ, gắn thẻ nó với các thuộc tính, và xác nhận cấu trúc:

from aspose_html.dom import Document

doc = Document()
container = doc.create_element("div")
container.set_attribute("id", "content")
doc.append_child(container)

child = doc.create_element("p")
container.append_child(child)

print(container.has_child_nodes())
print(doc.get_element_by_id("content").get_attribute("id"))

Mã nguồn mở & Bản quyền

Aspose.HTML FOSS cho Python được cấp phép MIT — miễn phí cho việc sử dụng thương mại, sửa đổi và phân phối lại. Mã nguồn nằm trên GitHub, và các bản phát hành được công bố tới PyPI dưới dạng aspose-html-foss.


Bắt đầu

Tài nguyên liên quan