The XMLSerializer method serializeToString() constructs a string representing the specified DOM tree in XML form.


xmlString = anXMLSerializer.serializeToString(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.


The specified rootNode is not a compatible node type. The root node must be either Node or Attr.
The tree could not be successfully serialized, probably due to issues with the content's compatibility with XML serialization.
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 and Attr nodes are always serialized with their namespaceURI intact. This may mean that a previously-specified prefix 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/>").


Browser compatibility

See also

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.