Introducere
Stratul DOM este nucleul lui Aspose.HTML FOSS pentru Python. Modelează o pagină HTML așa cum fac standardele — ca un arbore de noduri Document, Element, Text, Comment și DocumentFragment — și îți oferă operațiunile pentru a construi, inspecta și rearanja acel arbore din cod Python, fără un browser în buclă.
Acest articol parcurge principalele caracteristici ale DOM: crearea de noduri, gestionarea atributelor, mutarea subarborilor cu operațiuni Node, parsarea fragmentelor și căutarea din nou a elementelor odată ce arborele este construit. Tot ceea ce se arată aici este livrat în pachetul aspose-html-foss pe PyPI, are licență MIT și rulează în Python pur pe versiunea 3.10 sau ulterioară.
Caracteristici cheie
Creare de documente și elemente
Document este fabrica de noduri: create_element() pentru elemente, create_text_node() pentru text, create_comment() pentru comentarii și create_document_fragment() pentru containere ușoare. Nodurile noi se atașează la arbore cu append_child():
from aspose_html.dom import Document
doc = Document()
el = doc.create_element("div")
doc.append_child(el)
Gestionarea atributelor
Atributele trec prin Element.set_attribute(), get_attribute(), has_attribute() și remove_attribute(). Clasa Attr modelează noduri de atribute individuale atunci când aveți nevoie de ele ca obiecte în loc de șiruri de caractere:
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)
Operații de arbore pe nod
Fiecare nod moștenește setul standard de instrumente pentru arbori de la Node: insert_before(), remove_child(), replace_child(), clone_node() și contains() pentru modificări și verificări ale structurii, plus child_nodes, parent_node și first_child pentru parcurgere, și text_content pentru citirea sau atribuirea textului unui subarbore. get_root_node() și has_child_nodes() răspund direct la întrebările structurale comune.
Analizează fragmente și markup adiacent
HTMLDocument.parse() gestionează pagini complete și HTMLDocument.parse_fragment() gestionează markup parțial. Pentru inserții chirurgicale în raport cu un element existent, Element oferă insert_adjacent_html(), insert_adjacent_text() și insert_adjacent_element() — inserarea standard în patru poziții API. Document.import_node() și adopt_node() mută noduri între documente.
Caută și citește înapoi
Document.get_element_by_id() recuperează un element prin atributul său id. Combinate cu accesul la stilul calculat din stratul CSSOM, puteți verifica ce conține un subarbore și cum va fi stilizat:
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"))
Începe rapid
Instalați din PyPI:
asposefoss/html is not yet published — build from source until it ships. See the project README for build instructions.Construiți un arbore mic, etichetați-l cu atribute și confirmați structura:
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"))
Open Source & Licențiere
Aspose.HTML FOSS pentru Python este licențiată MIT — gratuită pentru utilizare comercială, modificare și redistribuire. Codul se află pe GitHub, iar versiunile sunt publicate pe PyPI ca aspose-html-foss.