XMLSerializer: serializeToString() method
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.
The XMLSerializer
method
serializeToString()
constructs a string representing the
specified DOM tree in XML form.
Syntax
serializeToString(rootNode)
Parameters
Return value
A string containing the XML representation of the specified DOM tree.
Exceptions
TypeError
-
Thrown if the specified
rootNode
is not a compatible node type. The root node must be eitherNode
orAttr
. InvalidStateError
DOMException
-
Thrown if the tree could not be successfully serialized, probably due to issues with the content's compatibility with XML serialization.
SyntaxError
DOMException
-
Thrown if 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
Specification |
---|
DOM Parsing and Serialization # dom-xmlserializer-serializetostring |
Browser compatibility
BCD tables only load in the browser
See also
- Parsing and serializing XML
- Serializing to HTML:
Element.innerHTML
andElement.outerHTML
- Parsing HTML or XML to create a DOM tree:
DOMParser