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.
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:
- Die Methoden
Element.append()
/Element.prepend()
undDocument.append()
/Document.prepend()
. - Die Methode
Element.replaceWith
(um einen bestehenden Knoten durch den neuen zu ersetzen). - Die Methode
Element.insertAdjacentElement()
.
Da insertAdjacentHTML()
eine Zeichenfolge und keinen Node
als zweiten Parameter akzeptiert, wird XMLSerializer
verwendet, um den Knoten zuerst in eine Zeichenfolge zu konvertieren.
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
BCD tables only load in the browser