A DOM használata
A DOM használata
A DOM réteg egy HTML oldalt modellez típusspecifikus csomópontok fáként. Document a belépési pont és csomópontgyár; Element és Node végzik a manipulációt és bejárást API.
Csomópontok létrehozása
Document.create_element(), create_text_node(), create_comment() és create_document_fragment() csomópontokat hoznak létre; append_child() csatolja őket:
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() és remove_attribute() kezeli a jelölő attribútumokat; Attr és NamedNodeMap objektumként teszik elérhetővé őket:
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)Fa műveletek
Node biztosítja a strukturális eszközkészletet: insert_before(), remove_child(), replace_child(), clone_node() és contains(), valamint a child_nodes, parent_node és first_child hozzáférőket, valamint text_content-t az alfa-fák szövegéhez. get_root_node() és has_child_nodes() közvetlenül válaszolnak a strukturális kérdésekre.
Kikeresés és bejárás
Document.get_element_by_id() elemeket kér le azonosító alapján. NodeList és HTMLCollection tárolják az eredménykészleteket; NodeIterator és TreeWalker (NodeFilter) bejárják az alfa-fákat a dokumentum sorrendjében.
Módosítások megfigyelése
MutationObserver a fa változásait MutationRecord bejegyzésekként rögzíti, tükrözve a szabványos megfigyelő mintát a strukturális szerkesztésekre reagáláshoz.
Tippek és bevált gyakorlatok
- Minden csomópontot a tulajdonos
Documentsegítségével hozz létre — a csomópontok dokumentumhatókörűek; használd aDocument.import_node()vagy aadopt_node()elemet, hogy áthelyezd őket dokumentumok között - Előnyben részesítsd a
text_content-t a teljes alfa-fá szöveghez a kéziTextcsomópont-mozgatás helyett - Használja a
DocumentFragmentelemet, hogy csomópontcsoportokat állítson össze egyetlenappend_child()előtt. - Ellenőrizze a
has_attribute()elemet aget_attribute()előtt, ha egy hiányzó attribútum jelentős.
Gyakori problémák
| Probléma | Oka | Javítás |
|---|---|---|
| A csomópont a rossz dokumentumban jelenik meg | A csomópont egy másik Document által lett létrehozva | Mozgassa azt először import_node() vagy adopt_node() használatával |
| Az attribútum lekérdezés semmit sem ad vissza | Az attribútum soha nincs beállítva az elemre | Védelem has_attribute() segítségével |
| Az alfa szövege üres | A text_content olvasása a gyermekek csatolása előtt | Csatold a gyermekeket, majd olvasd |
FAQ
Melyik osztály hoz létre új elemeket?
Document — a create_element() metódusa a gyár az elemekhez, testvérgyárakkal a szöveg, a megjegyzések és a töredékek számára.
Hogyan mozgathatom át egy részfát két dokumentum között?
Használja a Document.import_node() elemet másoláshoz, vagy a adopt_node() elemet átvitelhez, majd csatolja a append_child() segítségével.
Van-e megfigyelő API a fa változásaihoz?
Igen — MutationObserver MutationRecord kötegeket szállít, amelyek a struktúra- és attribútumváltozásokat írják le.
API Reference összegzés
| Osztály/Módszer | Leírás |
|---|---|
Document.create_element | Hozz létre egy elemcsomópontot |
Document.get_element_by_id | Kikeres egy elemet azonosító (id) alapján |
Element.set_attribute | Állíts be egy jelölő attribútumot |
Node.insert_before | Helyezzen be egy csomópontot egy referencia gyermek előtt |
Node.clone_node | Másoljon egy csomópontot vagy részfát |
MutationObserver | Figyelje a fa mutációit |
TreeWalker | Szűrt dokumentum-sorrendű bejárás |