XML DOM ノードのクローン
試してみる - サンプル
以下のサンプルは XML ファイルを使用します。
関数loadXMLDoc()は、外部 JavaScript 内にあり、XML ファイルの読み込みに使用されます。
この例では、cloneNode() を使用してノードをコピーし、XML ドキュメントのルートノードに追加します。
ノードのコピー
cloneNode() メソッドは、指定したノードのコピーを作成します。
cloneNode() メソッドにはパラメータ(true または false)があります。このパラメータは、クローンされたノードが元のノードのすべての属性と子ノードを含むかどうかを示します。
次のコードスニペットは、最初の <book> ノードをコピーして、ドキュメントのルートノードに追加します:
サンプル
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('book')[0];
cloneNode=x.cloneNode(true);
xmlDoc.documentElement.appendChild(cloneNode);
//すべての title ノードのテキスト値を出力します
y=xmlDoc.getElementsByTagName("title");
for (i=0;i<y.length;i++)
{
document.write(y[i].childNodes[0].nodeValue);
document.write("<br>");
}
出力:
Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
Everyday Italian
試してみる »
サンプルの説明:
- 使用してloadXMLDoc()「」を xmlDoc に読み込みます。
- コピーするノードを取得します
- cloneNode メソッドを使用してノードを "newNode" にコピーします。
- XML ドキュメントのルートノードに新しいノードを追加します
- ドキュメント内のすべての book のすべての title を出力します。
その他の拡張