Cara Bekerja dengan DOM di Python
Aspose.HTML FOSS untuk model Python HTML sebagai DOM berbasis standar: Document membuat node, Element mengelola atribut, dan Node menyediakan operasi pohon. Panduan ini membangun pohon kecil dan membaca kembali strukturnya, menggunakan pip untuk instalasi.
Panduan Langkah demi Langkah
Langkah 1: Instal Paket
Instal paket:
git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git
cd Aspose.HTML-FOSS-for-Python
pip install -e .Kemudian konfirmasi metadata paket:
pip show aspose-html-fossLangkah 2: Impor Kelas yang Diperlukan
from aspose_html.dom import DocumentLangkah 3: Buat Dokumen dan Elemen
Document adalah pabrik node; create_element() mengembalikan elemen baru yang Anda lampirkan dengan append_child():
doc = Document()
el = doc.create_element("div")
doc.append_child(el)Langkah 4: Atur Atribut
set_attribute() menulis atribut markup; kelas dan id mengarahkan pencocokan CSS selanjutnya:
el.set_attribute("class", "foo")
el.set_attribute("id", "bar")Langkah 5: Baca Kembali Struktur
get_element_by_id() mengambil elemen, get_attribute() mengembalikan atributnya, dan has_child_nodes() mengonfirmasi struktur:
found = doc.get_element_by_id("bar")
print(found.get_attribute("class"))
print(doc.has_child_nodes())Masalah Umum dan Solusinya
Pencarian berdasarkan id tidak mengembalikan apa pun. Elemen id atribut harus diatur sebelum get_element_by_id() dipanggil, dan elemen harus terpasang pada pohon dokumen.
Pembacaan atribut mengembalikan nilai yang tidak terduga. get_attribute() mengembalikan apa yang terakhir diatur dengan set_attribute(); periksa kesalahan ketik dalam nama atribut — mereka adalah string biasa.
Node yang dibuat dari dokumen lain berperilaku tidak semestinya. Node bersifat scoped pada dokumen. Buat mereka melalui cara yang sama Document, atau transfer mereka dengan import_node()/adopt_node().
Pertanyaan yang Sering Diajukan
Jenis node apa yang dapat dibuat oleh Document?
Elemen, node teks, komentar, dan fragmen dokumen — melalui create_element(), create_text_node(), create_comment(), dan create_document_fragment().
Bagaimana cara memindahkan atau menghapus node yang ada?
Gunakan operasi Node: insert_before(), remove_child(), replace_child(), dan clone_node().
Bisakah saya mengurai markup yang ada alih-alih membangun pohon secara manual?
Ya — HTMLDocument.parse() untuk halaman dan HTMLDocument.parse_fragment() untuk cuplikan menghasilkan jenis pohon yang sama.