Bevezetés
A DOM réteg a Aspose.HTML FOSS magja a Python számára. A szabványok módjával modellezi az HTML oldalt — Document, Element, Text, Comment és DocumentFragment csomópontokból álló fa formájában — és biztosítja a műveleteket a fa felépítéséhez, vizsgálatához és átrendezéséhez Python kódból, böngésző nélkül.
Ez a bejegyzés bemutatja a fő DOM funkciókat: csomópontok létrehozása, attribútumok kezelése, részfák áthelyezése Node műveletekkel, töredékek feldolgozása, és az elemek újbóli keresése, miután a fa felépült. Mindez a aspose-html-foss csomagban érkezik a PyPI platformon, MIT licenc alatt áll, és tiszta Python környezetben fut a 3.10-es vagy újabb verzión.
Főbb funkciók
Dokumentumok és elemek létrehozása
Document a csomópontgyár: create_element() elemekhez, create_text_node() szöveghez, create_comment() kommentekhez, és create_document_fragment() könnyű tárolókhoz. Az új csomópontok a append_child() segítségével csatlakoznak a fához:
from aspose_html.dom import Document
doc = Document()
el = doc.create_element("div")
doc.append_child(el)
Attribútumok kezelése
Az attribútumok körbejárnak a Element.set_attribute(), get_attribute(), has_attribute() és a remove_attribute() között. A Attr osztály modellezi az egyedi attribútumcsomópontokat, ha objektumként, nem karakterláncként van szükség rájuk:
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)
Fa műveletek a csomóponton
Minden csomópont örökli a szabványos fa eszköztárat a Node-tól: insert_before(), remove_child(), replace_child(), clone_node() és contains() a struktúraváltozásokhoz és ellenőrzésekhez, plusz child_nodes, parent_node és first_child a bejáráshoz, valamint text_content az alfa szövegének olvasásához vagy beállításához. get_root_node() és has_child_nodes() közvetlenül megválaszolják a gyakori struktúrakérdéseket.
Töredékek és szomszédos markup elemzése
HTMLDocument.parse() kezeli a teljes oldalakat, és a HTMLDocument.parse_fragment() kezeli a részleges markupot. Sebészi beillesztéshez egy meglévő elemhez viszonyítva, a Element biztosítja a insert_adjacent_html(), insert_adjacent_text() és a insert_adjacent_element() — a szabványos négypozíciós beillesztés API. A Document.import_node() és a adopt_node() csomópontokat mozgatnak dokumentumok között.
Kikeresés és visszaolvasás
Document.get_element_by_id() egy elemet a id attribútuma alapján kér le. A CSSOM réteg számított stílus hozzáférésével kombinálva ellenőrizhető, hogy mit tartalmaz egy alfa és hogyan lesz stílusozva:
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"))
Gyors kezdés
Telepítés innen PyPI:
asposefoss/html is not yet published — build from source until it ships. See the project README for build instructions.Építs egy kis fát, címkézd attribútumokkal, és ellenőrizd a struktúrát:
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"))
Nyílt forráskód & Licencelés
Aspose.HTML FOSS a Python számára MIT licenc alatt áll — szabadon használható kereskedelmi célra, módosítható és terjeszthető. A kód megtalálható a GitHub oldalon, és a kiadások PyPI felé kerülnek közzétételre, mint aspose-html-foss.