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.
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:
- 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()
eine Zeichenkette und nicht einen Node
als zweiten Parameter akzeptiert, wird XMLSerializer
verwendet, um den Knoten zuerst in eine Zeichenkette 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 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