DOM

インターフェイス

XMLSerializer インターフェイス

  編集:2022.04.08 by T.A.

MS

このインターフェースは、DOM ツリーを表す XML 文字列を構築するための serializeToString() (en-US) メソッドを提供します。

メソッド
XMLSerializer.serializeToString()
文字列の形にシリアライズされたサブ ツリーを返します。
XMLSerializer.serializeToStream() 非標準 廃止
指定した要素をルートとするサブツリーが、指定した文字セットを使ったバイト ストリームにシリアライズされます。
XML を文字列にシリアライズ
最初の基本的な例は、ドキュメント全体を XML を含む文字列にシリアライズするだけです。
 var s = new XMLSerializer();
 var d = document;
 var str = s.serializeToString(d);
 saveXML(str);

このコードは、新しい XMLSerializer オブジェクトを作成し、シリアライズされる Document を serializeToString() (en-US) に渡します。これは、渡した document と同等の XML を返します。

XML を基にした DOM にノードを挿入する
この例は、Element.insertAdjacentHTML() メソッドを使用して新しい DOM Node を Document の body に挿入します。これは、Element オブジェクトをシリアライズすることにより作成された XML を基にしています。
注記: 実際は、importNode() メソッドを呼び出して新しいノードを DOM に挿入する代わりに、以下のいずれかのメソッドを呼び出して DOM ツリーに追加することになるでしょう:

insertAdjacentHTML() は文字列を受け入れるが、2 番目の引数として Node を受け入れないため、XMLSerializer を使用して先にノードを文字列に変換します。

var inp = document.createElement('input');
var XMLS = new XMLSerializer();
var inp_xmls = XMLS.serializeToString(inp); // まず DOM ノードを文字列に変換

// 新たに作成されたノードを document の body に挿入
document.body.insertAdjacentHTML('afterbegin', inp_xmls);

このコードは、Document.createElement() を呼び出して新しい 要素を作成し、serializeToString() (en-US) を使用して XML にシリアライズします。

完了したら、insertAdjacentHTML() を使用して 要素を DOM に挿入します。


xmlserializer = new XMLSerializer()
新たな XMLSerializer オブジェクトを構築する。

テスト
HTML:

ここに表示
スクリプト組み込み:



スクリプト:


スクリプト:



表示内容:
表示内容: