XMLSerializer.serializeToString()

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.

XMLSerializerserializeToString() メソッドは、指定された DOM ツリーを表す XML 形式の文字列を構築します。

構文

js
serializeToString(rootNode)

引数

rootNode

XML 表現を構築する DOM ツリーまたはサブツリーのルートとして用いる Node です。

返値

指定された DOM ツリーの XML 表現が入った文字列です。

例外

TypeError

指定された rootNode が対応しているノード型でないとき投げられます。ルートノードは Node または Attr でなければなりません。

InvalidStateError DOMException

ツリーが正常にシリアライズできなかったとき投げられます。おそらくコンテンツの XML シリアライズ対応に関する問題が原因です。

SyntaxError DOMException

HTML のシリアライズを要求されたが、コンテンツが良い形式でないため成功しなかったとき投げられます。

使用法の注意点

対応しているノード型

指定するルートノードとその全ての子孫は、XML シリアライズのアルゴリズムに対応しているものでなければなりません、ルートノード自身は、Node または Attr のオブジェクトでなければなりません。

ルートノードの子孫では、NodeAttr に加えて以下の型も利用可能です。

これ以外の型が見つかった場合、TypeError 例外が投げられます。

結果の XML に関する注意点

serializeToString() から出力される XML について、注意するべき点がいくつかあります。

  • XML シリアライズにおいては、Element および Attr のノードの namespaceURI は常にそのままシリアライズされます。すなわち、指定されている prefix やデフォルト名前空間は消されたり変更されたりする可能性があります。
  • 結果の XML は HTML パーサーに対応しています。
  • HTML 名前空間にある子ノードを持たない (すなわち、空タグを表している) 要素は、空要素タグ ("<someelement/>") ではなく開始タグと終了タグ ("<someelement></someelement>") を用いてシリアライズされます。

仕様書

Specification
DOM Parsing and Serialization
# dom-xmlserializer-serializetostring

ブラウザーの互換性

BCD tables only load in the browser

関連情報