Εισαγωγή

Η στρώση DOM είναι ο πυρήνας του Aspose.HTML FOSS για Python. Μοντελοποιεί μια σελίδα HTML με τον τρόπο που κάνουν τα πρότυπα — ως δέντρο από κόμβους Document, Element, Text, Comment και DocumentFragment — και σας παρέχει τις λειτουργίες για να δημιουργήσετε, να ελέγξετε και να αναδιατάξετε αυτό το δέντρο από κώδικα Python, χωρίς πρόγραμμα περιήγησης στη διαδικασία.

Αυτή η ανάρτηση περιηγείται στις κύριες δυνατότητες του DOM: δημιουργία κόμβων, διαχείριση χαρακτηριστικών, μετακίνηση υποδέντρων με λειτουργίες Node, ανάλυση τμημάτων, και επαναζήτηση στοιχείων μόλις το δέντρο είναι χτιστό. Ό,τι παρουσιάζεται εδώ περιλαμβάνεται στο πακέτο aspose-html-foss στο PyPI, είναι αδειοδοτημένο με MIT, και εκτελείται σε καθαρό Python στην έκδοση 3.10 ή νεότερη.


Κύρια Χαρακτηριστικά

Δημιουργία Εγγράφων και Στοιχείων

Document είναι η εργοστάσιο κόμβων: create_element() για στοιχεία, create_text_node() για κείμενο, create_comment() για σχόλια, και create_document_fragment() για ελαφριές δομές. Οι νέοι κόμβοι προσδένονται στο δέντρο με append_child():

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

Διαχείριση Χαρακτηριστικών

Τα χαρακτηριστικά διασχίζουν το Element.set_attribute(), get_attribute(), has_attribute() και remove_attribute(). Η κλάση Attr μοντελοποιεί μεμονωμένους κόμβους χαρακτηριστικών όταν τα χρειάζεστε ως αντικείμενα αντί για συμβολοσειρές:

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)

Λειτουργίες Δέντρου σε Κόμβο

Κάθε κόμβος κληρονομεί το τυπικό σύνολο εργαλείων δέντρου από το Node: insert_before(), remove_child(), replace_child(), clone_node() και contains() για αλλαγές και ελέγχους δομής, καθώς και child_nodes, parent_node και first_child για περιήγηση, και text_content για ανάγνωση ή ανάθεση του κειμένου ενός υποδενδρίου. Τα get_root_node() και has_child_nodes() απαντούν άμεσα στις κοινές δομικές ερωτήσεις.

Ανάλυση Τμημάτων και Προσυμφραζόμενου Σήμανσης

HTMLDocument.parse() διαχειρίζεται πλήρεις σελίδες και το HTMLDocument.parse_fragment() διαχειρίζεται μερική σήμανση. Για χειρουργική εισαγωγή σε σχέση με ένα υπάρχον στοιχείο, το Element παρέχει insert_adjacent_html(), insert_adjacent_text() και insert_adjacent_element() — την τυπική εισαγωγή σε τέσσερις θέσεις API. Τα Document.import_node() και adopt_node() μετακινούν κόμβους μεταξύ εγγράφων.

Αναζήτηση και Ανάγνωση Πίσω

Document.get_element_by_id() ανακτά ένα στοιχείο με βάση το χαρακτηριστικό id. Συνδυασμένο με πρόσβαση σε υπολογισμένο στυλ από το επίπεδο CSSOM, μπορείτε να επαληθεύσετε τι περιέχει ένα υποδένδρο και πώς θα μορφοποιηθεί:

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

Γρήγορη Εκκίνηση

Εγκατάσταση από PyPI:

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

Δομήστε ένα μικρό δέντρο, επισημάνετε το με χαρακτηριστικά και επιβεβαιώστε τη δομή:

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

Ανοιχτός Κώδικας & Άδειες

Aspose.HTML FOSS για Python είναι αδειοδοτημένο με MIT — δωρεάν για εμπορική χρήση, τροποποίηση και αναδιανομή. Ο κώδικας βρίσκεται στο GitHub, και οι εκδόσεις δημοσιεύονται στο PyPI ως aspose-html-foss.


Ξεκινώντας

Σχετικοί πόροι