Giriş

DOM katmanı, Python için Aspose.HTML FOSS’nin çekirdeğidir. Standartların yaptığı gibi bir HTML sayfasını — Document, Element, Text, Comment ve DocumentFragment düğümlerinden oluşan bir ağaç olarak — modelleyecek ve bu ağacı Python kodundan, tarayıcı olmadan, oluşturmak, incelemek ve yeniden düzenlemek için size işlemler sunar.

Bu gönderi ana DOM özelliklerini adım adım inceler: düğüm oluşturma, öznitelik yönetimi, Node işlemleriyle alt ağaçları taşıma, parçaları ayrıştırma ve ağaç oluşturulduktan sonra öğeleri tekrar bulma. Burada gösterilen her şey PyPI üzerindeki aspose-html-foss paketinde bulunur, MIT lisanslıdır ve 3.10 veya sonraki sürümlerde saf Python içinde çalışır.


Temel Özellikler

Belgeler ve Öğeler Oluştur

Document, düğüm fabrikasıdır: öğeler için create_element(), metin için create_text_node(), yorumlar için create_comment() ve hafif kapsayıcılar için create_document_fragment(). Yeni düğümler append_child() ile ağaca eklenir:

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

Öznitelikleri Yönet

Özellikler Element.set_attribute(), get_attribute(), has_attribute() ve remove_attribute() üzerinden çift yönlü geçiş yapar. Attr sınıfı, öğeleri dize yerine nesne olarak gerektiğinde bireysel öznitelik düğümlerini modeller:

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)

Düğümde Ağaç İşlemleri

Her düğüm, Node adresinden standart ağaç araç setini devralır: insert_before(), remove_child(), replace_child(), clone_node() ve contains() yapı değişiklikleri ve kontrolleri için, ayrıca child_nodes, parent_node ve first_child gezinme için, ve text_content bir alt ağacın metnini okuma veya atama için. get_root_node() ve has_child_nodes() en yaygın yapısal sorulara doğrudan yanıt verir.

Parçaları ve Bitişik İşaretlemeyi Ayrıştır

HTMLDocument.parse() tam sayfaları işler ve HTMLDocument.parse_fragment() kısmi işaretlemeyi işler. Mevcut bir öğeye göre cerrahi ekleme için, Element insert_adjacent_html(), insert_adjacent_text() ve insert_adjacent_element() sağlar — standart dört konumlu ekleme API. Document.import_node() ve adopt_node() düğümleri belgeler arasında taşır.

Arama Yap ve Geri Oku

Document.get_element_by_id(), bir öğeyi id özniteliğiyle alır. CSSOM katmanından hesaplanmış stil erişimiyle birleştirildiğinde, bir alt ağacın ne içerdiğini ve nasıl biçimlendirileceğini doğrulayabilirsiniz:

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"))

Hızlı Başlangıç

Şuradan kurun PyPI:

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

Küçük bir ağaç oluşturun, ona özellikler ekleyin ve yapıyı doğrulayın:

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"))

Açık Kaynak ve Lisanslama

Aspose.HTML FOSS for Python MIT lisanslıdır — ticari kullanım, değiştirme ve yeniden dağıtım için ücretsizdir. Kod GitHub üzerinde bulunur ve sürümler PyPI’e aspose-html-foss olarak yayınlanır.


Başlarken

İlgili Kaynaklar