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 Methode serializeToString() bereit, um eine XML-Zeichenkette zu erstellen, die einen DOM-Baum darstellt.

Hinweis: Die resultierende XML-Zeichenkette ist nicht garantiert als gut geformtes XML.

Konstruktor

XMLSerializer()

Erstellt ein neues XMLSerializer-Objekt.

Instanzmethoden

serializeToString()

Gibt den serialisierten Teilbaum einer Zeichenkette zurück.

Beispiele

Serialisieren von XML in eine Zeichenkette

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

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

Dies umfasst das Erstellen eines neuen XMLSerializer-Objekts und das Übergeben des Document, das mit serializeToString() serialisiert wird. Dies gibt das XML-Äquivalent des Dokuments zurück. saveXML() repräsentiert eine Funktion, die dann die serialisierte Zeichenkette 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 realen Welt sollten Sie normalerweise stattdessen die Methode importNode() aufrufen, um den neuen Knoten in das DOM zu importieren, und dann eine der folgenden Methoden verwenden, um den Knoten zum DOM-Baum hinzuzufügen:

Da insertAdjacentHTML() eine Zeichenkette und nicht einen Node als zweiten Parameter akzeptiert, wird XMLSerializer verwendet, um den Knoten zuerst in eine Zeichenkette 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 Aufruf von Document.createElement() und serialisiert es dann in XML mithilfe von serializeToString().

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

Spezifikationen

Specification
DOM Parsing and Serialization
# the-xmlserializer-interface

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch