Introducción
La capa DOM es el núcleo de Aspose.HTML FOSS para Python. Modela una página HTML de la misma manera que lo hacen los estándares — como un árbol de nodos Document, Element, Text, Comment y DocumentFragment — y le brinda las operaciones para construir, inspeccionar y reorganizar ese árbol desde código Python, sin necesidad de un navegador en el proceso.
Esta publicación recorre las principales características del DOM: crear nodos, gestionar atributos, mover subárboles con operaciones Node, analizar fragmentos y volver a buscar elementos una vez que el árbol está construido. Todo lo que se muestra aquí se entrega en el paquete aspose-html-foss en PyPI, tiene licencia MIT y se ejecuta en puro Python a partir de la versión 3.10 o posterior.
Características clave
Crear documentos y elementos
Document es la fábrica de nodos: create_element() para elementos, create_text_node() para texto, create_comment() para comentarios y create_document_fragment() para contenedores ligeros. Los nuevos nodos se adjuntan al árbol con append_child():
from aspose_html.dom import Document
doc = Document()
el = doc.create_element("div")
doc.append_child(el)
Gestionar atributos
Los atributos hacen un recorrido de ida y vuelta a través de Element.set_attribute(), get_attribute(), has_attribute() y remove_attribute(). La clase Attr modela nodos de atributo individuales cuando los necesitas como objetos en lugar de cadenas:
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)
Operaciones de árbol en nodo
Cada nodo hereda el conjunto de herramientas estándar de árbol de Node: insert_before(), remove_child(), replace_child(), clone_node() y contains() para cambios y verificaciones de la estructura, además de child_nodes, parent_node y first_child para el recorrido, y text_content para leer o asignar el texto de un subárbol. get_root_node() y has_child_nodes() responden directamente a las preguntas estructurales comunes.
Analizar fragmentos y marcado adyacente
HTMLDocument.parse() gestiona páginas completas y HTMLDocument.parse_fragment() gestiona marcado parcial. Para una inserción quirúrgica relativa a un elemento existente, Element proporciona insert_adjacent_html(), insert_adjacent_text() y insert_adjacent_element() — la inserción estándar de cuatro posiciones API. Document.import_node() y adopt_node() mueven nodos entre documentos.
Buscar y volver a leer
Document.get_element_by_id() recupera un elemento por su atributo id. Combinado con el acceso al estilo computado desde la capa CSSOM, puedes verificar qué contiene un subárbol y cómo será estilizado:
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"))
Inicio rápido
Instalar desde PyPI:
asposefoss/html is not yet published — build from source until it ships. See the project README for build instructions.Construye un árbol pequeño, etiquétalo con atributos y confirma la estructura:
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"))
Código abierto y licencias
Aspose.HTML FOSS para Python tiene licencia MIT — libre para uso comercial, modificación y redistribución. El código está en GitHub, y los lanzamientos se publican en PyPI como aspose-html-foss.
Primeros pasos
- Primeros pasos
- Guía del desarrollador
- Artículos de la base de conocimientos
- API Reference
- Visión general del producto