מבוא
שכבת ה-DOM היא הליבה של Aspose.HTML FOSS עבור Python. היא ממדלת דף HTML כפי שהתקנים עושים — כעץ של צמתים Document, Element, Text, Comment ו-DocumentFragment — ומספקת לך את הפעולות לבנות, לבדוק ולסדר מחדש את העץ מקוד Python, ללא דפדפן בתהליך.
פוסט זה מסביר את תכונות ה-DOM המרכזיות: יצירת צמתים, ניהול תכונות, העברת תת-עצים באמצעות פעולות Node, פענוח קטעים, וחיפוש אלמנטים מחדש לאחר שהעץ נבנה. כל מה שמוצג כאן נשלח בחבילה aspose-html-foss ב-PyPI, ברישיון MIT, ופועל ב-Python טהור בגרסה 3.10 ומעלה.
תכונות מרכזיות
יצירת מסמכים ואלמנטים
Document הוא מפעל הצמתים: create_element() עבור אלמנטים, create_text_node() עבור טקסט, create_comment() עבור תגובות, ו-create_document_fragment() עבור מכולות קלות. צמתים חדשים מצורפים לעץ באמצעות append_child():
from aspose_html.dom import Document
doc = Document()
el = doc.create_element("div")
doc.append_child(el)
ניהול תכונות
ההתכונות עוברות סיבוב דרך Element.set_attribute(), get_attribute(), has_attribute() ו-remove_attribute(). המחלקה Attr מדמה צמתים של תכונות בודדות כאשר אתה זקוק להם כאובייקטים במקום כמחרוזות:
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)
פעולות עץ על צומת
כל צומת יורש את ערכת הכלים הסטנדרטית של העץ מ-Node: insert_before(), remove_child(), replace_child(), clone_node() ו-contains() לשינויים ובדיקות במבנה, בנוסף ל-child_nodes, parent_node ו-first_child לניווט, ול-text_content לקריאת או הקצאת הטקסט של תת-עץ. get_root_node() ו-has_child_nodes() עונים ישירות על השאלות המבניות הנפוצות.
פירוש מקטעים ותיוג סמוך
HTMLDocument.parse() מטפל בדפים שלמים ו-HTMLDocument.parse_fragment() מטפל בסימון חלקי. עבור הוספה כירורגית יחסית לרכיב קיים, Element מספק insert_adjacent_html(), insert_adjacent_text(), ו-insert_adjacent_element() — ההכנסה בארבעה מקומות הסטנדרטית API. Document.import_node() ו-adopt_node() מעבירים צמתים בין מסמכים.
חפש וקרא בחזרה
Document.get_element_by_id() מאחזר אלמנט לפי תכונת id שלו. בשילוב עם גישה לסגנון מחושב משכבת ה-CSSOM, ניתן לאמת מה תת-עץ מכילה וכיצד היא תעוצב:
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"))
התחלה מהירה
התקן מ-PyPI:
asposefoss/html is not yet published — build from source until it ships. See the project README for build instructions.בנה עץ קטן, תייג אותו עם תכונות, ואשר את המבנה:
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"))
קוד פתוח ורישוי
Aspose.HTML FOSS עבור Python הוא ברישיון MIT — חינם לשימוש מסחרי, שינוי, והפצה מחדש. הקוד נמצא ב-GitHub, והגרסאות מתפרסמות ל-PyPI כ-aspose-html-foss.