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 Document segítségével hozz létre — a csomópontok dokumentumhatókörűek; használd a Document.import_node() vagy a adopt_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ézi Text csomópont-mozgatás helyett
  • Használja a DocumentFragment elemet, hogy csomópontcsoportokat állítson össze egyetlen append_child() előtt.
  • Ellenőrizze a has_attribute() elemet a get_attribute() előtt, ha egy hiányzó attribútum jelentős.

Gyakori problémák

ProblémaOkaJavítás
A csomópont a rossz dokumentumban jelenik megA csomópont egy másik Document által lett létrehozvaMozgassa azt először import_node() vagy adopt_node() használatával
Az attribútum lekérdezés semmit sem ad visszaAz attribútum soha nincs beállítva az elemreVédelem has_attribute() segítségével
Az alfa szövege üresA text_content olvasása a gyermekek csatolása előttCsatold 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ódszerLeírás
Document.create_elementHozz létre egy elemcsomópontot
Document.get_element_by_idKikeres egy elemet azonosító (id) alapján
Element.set_attributeÁllíts be egy jelölő attribútumot
Node.insert_beforeHelyezzen be egy csomópontot egy referencia gyermek előtt
Node.clone_nodeMásoljon egy csomópontot vagy részfát
MutationObserverFigyelje a fa mutációit
TreeWalkerSzűrt dokumentum-sorrendű bejárás

Lásd még:

 Magyar