XMLSerializer
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Das XMLSerializer-Interface bietet die Methode serializeToString(), um einen XML-String zu erstellen, der einen DOM-Baum darstellt.
Hinweis: Der resultierende XML-String ist nicht garantiert wohlgeformtes XML.
Konstruktor
XMLSerializer()-
Erstellt ein neues
XMLSerializer-Objekt.
Instanzmethoden
serializeToString()-
Gibt den serialisierten Teilbaum eines Strings zurück.
Beispiele
>Serialisieren von XML in einen String
Dieses Beispiel serialisiert ein gesamtes Dokument in einen XML-enthaltenden String.
const s = new XMLSerializer(); const str = s.serializeToString(document); saveXML(str); Dies beinhaltet das Erstellen eines neuen XMLSerializer-Objekts, dann die Übergabe des zu serialisierenden Document an serializeToString(), was das XML-Äquivalent des Dokuments zurückgibt. saveXML() stellt eine Funktion dar, die den serialisierten String speichert.
Einfügen von Knoten in ein DOM basierend auf XML
Dieses Beispiel verwendet die Methode Element.insertAdjacentHTML(), um einen neuen DOM-Node in den Body des Document einzufügen, basierend auf XML, das durch Serialisieren eines Element-Objekts erstellt wurde.
Hinweis: In der Praxis sollten Sie stattdessen normalerweise die Methode importNode() aufrufen, um den neuen Knoten in das DOM zu importieren, und dann eine der folgenden Methoden aufrufen, um den Knoten zum DOM-Baum hinzuzufügen:
- Die Methoden
Element.append()/Element.prepend()undDocument.append()/Document.prepend(). - Die Methode
Element.replaceWith(um einen vorhandenen Knoten durch den neuen zu ersetzen) - Die Methode
Element.insertAdjacentElement().
Da insertAdjacentHTML() einen String und keinen Node als seinen zweiten Parameter akzeptiert, wird XMLSerializer verwendet, um zuerst den Knoten in einen String zu konvertieren.
const inp = document.createElement("input"); const XMLS = new XMLSerializer(); const inpSerialized = XMLS.serializeToString(inp); // First convert DOM node into a string // Insert the newly created node into the document's body document.body.insertAdjacentHTML("afterbegin", inpSerialized); Der Code erstellt ein neues <input>-Element durch den Aufruf von Document.createElement() und serialisiert es dann in XML mithilfe von serializeToString().
Sobald dies abgeschlossen ist, wird insertAdjacentHTML() verwendet, um das <input>-Element in das DOM einzufügen.
Spezifikationen
| Specification |
|---|
| HTML> # xmlserializer> |