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 stellt die serializeToString()
Methode zur Verfügung, um eine XML-Zeichenfolge zu erstellen, die einen DOM Baum darstellt.
Hinweis: Die resultierende XML-Zeichenfolge ist nicht garantiert gut geformtes XML.
Konstruktor
XMLSerializer()
-
Erstellt ein neues
XMLSerializer
Objekt.
Instanzmethoden
serializeToString()
-
Gibt den serialisierten Unterbaum einer Zeichenfolge zurück.
Beispiele
>Serialisieren von XML in eine Zeichenfolge
Dieses Beispiel serialisiert einfach ein gesamtes Dokument in eine Zeichenfolge, die XML enthält.
const s = new XMLSerializer();
const str = s.serializeToString(document);
saveXML(str);
Dies beinhaltet das Erstellen eines neuen XMLSerializer
Objekts und anschließend das Übergeben des zu serialisierenden Document
an serializeToString()
, was das XML-Äquivalent des Dokuments zurückgibt. saveXML()
repräsentiert eine Funktion, die dann die serialisierte Zeichenfolge speichert.
Einfügen von Nodes in ein DOM basierend auf XML
Dieses Beispiel verwendet die Element.insertAdjacentHTML()
Methode, 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 stattdessen normalerweise die importNode()
Methode aufrufen, um den neuen Knoten in das DOM zu importieren und dann eine der folgenden Methoden verwenden, um den Knoten dem DOM-Baum hinzuzufügen:
- Die
Element.append()
/Element.prepend()
undDocument.append()
/Document.prepend()
Methoden. - Die
Element.replaceWith
Methode (um einen bestehenden Knoten durch den neuen zu ersetzen). - Die
Element.insertAdjacentElement()
Methode.
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 Aufruf von Document.createElement()
und serialisiert es dann mit serializeToString()
in XML.
Sobald dies erledigt ist, wird insertAdjacentHTML()
verwendet, um das <input>
Element in das DOM einzufügen.
Spezifikationen
Specification |
---|
HTML> # xmlserializer> |
Browser-Kompatibilität
Loading…