DOM ile Çalışma

DOM ile Çalışma

DOM katmanı bir HTML sayfasını türlendirilmiş düğümlerin ağacı olarak modeller. Document giriş noktası ve düğüm fabrikasıdır; Element ve Node manipülasyon ve gezinme API görevini üstlenir.


Düğümler Oluşturma

Document.create_element(), create_text_node(), create_comment() ve create_document_fragment() düğümler üretir; append_child() onları ekler:

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

Attributes

Element.set_attribute(), get_attribute(), has_attribute() ve remove_attribute() işaretleme özniteliklerini yönetir; Attr ve NamedNodeMap bunları nesneler olarak ortaya koyar:

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)

Ağaç İşlemleri

Node yapısal araç setini sağlar: insert_before(), remove_child(), replace_child(), clone_node() ve contains(), ayrıca child_nodes, parent_node ve first_child erişicileri ve alt ağaç metni için text_content. get_root_node() ve has_child_nodes() yapısal soruları doğrudan yanıtlar.

Arama ve Gezinme

Document.get_element_by_id() öğeleri kimliğe göre alır. NodeList ve HTMLCollection sonuç kümelerini tutar; NodeIterator ve TreeWalker (NodeFilter ile) belge sırasına göre alt ağaçları dolaşır.

Değişiklikleri Gözlemleme

MutationObserver ağaç değişikliklerini MutationRecord girdileri olarak kaydeder, yapısal düzenlemelere yanıt vermek için standart gözlemci desenini yansıtır.


İpuçları ve En İyi Uygulamalar

  • Her düğümü sahibi Document aracılığıyla oluşturun — düğümler belge kapsamındadır; onları belgeler arasında taşımak için Document.import_node() veya adopt_node() kullanın
  • Manuel Text düğüm oynatmasından ziyade bütün alt ağaç metni için text_content tercih edin
  • Tek bir append_child() öncesinde düğüm topluluklarını birleştirmek için DocumentFragment kullanın
  • Eksik bir öznitelik anlam taşıdığında has_attribute()‘ı get_attribute()‘den önce kontrol edin

Yaygın Sorunlar

SorunSebepDüzeltme
Düğüm yanlış belgede görünüyorDüğüm farklı bir Document tarafından oluşturulduÖnce import_node() veya adopt_node() ile taşıyın
Öznitelik araması hiçbir şey döndürmüyorÖznitelik öğeye hiç ayarlanmamışŞu has_attribute() ile koru
Alt ağaç metni boşÇocuklar eklenmeden önce text_content okunuyorÇocukları ekle, ardından oku

FAQ

Hangi sınıf yeni öğeler oluşturur?

Document — onun create_element() metodu öğeler için fabrikadır, metin, yorumlar ve parçalar için kardeş fabrikalarla birlikte.

İki belge arasında bir alt ağacı nasıl taşıyabilirim?

Kopyalamak için Document.import_node(), aktarmak için adopt_node() kullanın, ardından append_child() ile ekleyin.

Ağaç değişiklikleri için bir gözlemci API var mı?

Evet — MutationObserver, yapısal ve öznitelik değişikliklerini tanımlayan MutationRecord batch’lerini sağlar.


API Reference Özeti

Sınıf/YöntemAçıklama
Document.create_elementBir eleman düğümü oluştur
Document.get_element_by_idKimliğe göre bir öğeyi ara
Element.set_attributeBir işaretleme özniteliği ayarlayın
Node.insert_beforeReferans çocuğunun önüne bir düğüm ekle
Node.clone_nodeBir düğümü ya da alt ağacı kopyala
MutationObserverAğaç mutasyonlarını gözlemle
TreeWalkerFiltrelenmiş belge-sırası dolaşımı

Ayrıca Bakınız

 Türkçe