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 either Node or Attr.
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 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/>").

Specifications

Specification Status Comment
DOM Parsing and Serialization
The definition of 'serializeToString()' in that specification.
Working Draft

Browser compatibility

See also