XMLSerializer

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Das XMLSerializer-Interface stellt die serializeToString()-Methode zur Verfügung, um eine XML-Zeichenfolge zu erstellen, die einen DOM-Baum repräsentiert.

Hinweis: Die resultierende XML-Zeichenfolge ist nicht garantiert wohlgeformtes XML.

Konstruktor

XMLSerializer()

Erstellt ein neues XMLSerializer-Objekt.

Instanzmethoden

serializeToString()

Gibt die serialisierte Teilstruktur als eine Zeichenfolge zurück.

Beispiele

Serialisieren von XML in eine Zeichenfolge

Dieses Beispiel serialisiert ein gesamtes Dokument in eine Zeichenfolge, die XML enthält.

js
const s = new XMLSerializer();
const str = s.serializeToString(document);
saveXML(str);

Dies beinhaltet die Erstellung eines neuen XMLSerializer-Objekts und das Übergaben des zu serialisierenden Document an die serializeToString()-Methode, die das XML-Äquivalent des Dokuments zurückgibt. saveXML() repräsentiert eine Funktion, die die serialisierte Zeichenfolge speichert.

Einfügen von Knoten in einen 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 in der Regel die importNode()-Methode aufrufen, um den neuen Knoten in den DOM zu importieren, und dann eine der folgenden Methoden aufrufen, um den Knoten dem DOM-Baum hinzuzufügen:

Da insertAdjacentHTML() eine Zeichenfolge und keinen Node als zweiten Parameter akzeptiert, wird XMLSerializer verwendet, um den Knoten zuerst in eine Zeichenfolge zu konvertieren.

js
const inp = document.createElement("input");
const XMLS = new XMLSerializer();
const inp_xmls = XMLS.serializeToString(inp); // First convert DOM node into a string

// Insert the newly created node into the document's body
document.body.insertAdjacentHTML("afterbegin", inp_xmls);

Der Code erstellt ein neues <input>-Element durch den Aufruf von Document.createElement() und serialisiert es anschließend mit serializeToString() in XML.

Sobald dies erfolgt ist, wird insertAdjacentHTML() verwendet, um das <input>-Element in den DOM einzufügen.

Spezifikationen

Specification
DOM Parsing and Serialization
# the-xmlserializer-interface

Browser-Kompatibilität

Siehe auch