XMLSerializer.serializeToString()
The XMLSerializer
method serializeToString()
constructs a string representing the specified DOM tree in XML form.
Syntax
xmlString = anXMLSerializer.serializeToString(rootNode);
Parameters
rootNode
-
The
Node
to use as the root of the DOM tree or subtree for which to construct an XML representation.
Return value
A DOMString
containing the XML representation of the specified DOM tree.
Exceptions
TypeError
-
The specified
rootNode
is not a compatible node type. The root node must be eitherNode
orAttr
. InvalidStateError
-
The tree could not be successfully serialized, probably due to issues with the content's compatibility with XML serialization.
SyntaxError
-
A serialization of HTML was requested but could not succeed due to the content not being well-formed.
Usage notes
Compatible node types
The specified root node—and all of its descendants—must be compatible with the XML serialization algorithm. The root node itself must be either a Node
or Attr
object.
The following types are also permitted as descendants of the root node, in addition to Node
and Attr
:
If any other type is encountered, a TypeError
exception is thrown.
Notes on the resulting XML
There are some things worth noting about the XML output by serializeToString()
:
- For XML serializations,
Element
andAttr
nodes are always serialized with theirnamespaceURI
intact. This may mean that a previously-specifiedprefix
or default namespace may be dropped or altered. - The resulting XML is compatible with the HTML parser.
- Elements in the HTML namespace that have no child nodes (thereby representing empty tags) are serialized with both begin and end tags (
"<someelement></someelement>"
) instead of using the empty-element tag ("<someelement/>"
).
Specifications
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
serializeToString |
1 |
12 |
1 |
9 |
≤12.1 |
3 |
1 |
18 |
4 |
≤12.1 |
1 |
1.0 |
See also
- Parsing and serializing XML
- Serializing to HTML:
Element.innerHTML
andElement.outerHTML
- Parsing HTML or XML to create a DOM tree:
DOMParser
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/XMLSerializer/serializeToString