ホーム HTML CSS XML JAVASCRIPT   PHP SQL MORE...   リファレンス 事例集    

XML DOM クローンノード

« 前章へ 次章へ »

以下の例は、XMLファイルbooks.xmlを使用します。
外部JavaScriptの関数 loadXMLDoc()は、XMLファイルをロードするのに使用します。

ノードのコピーと既存ノードへの付加
この例は、cloneNode()を用いてノードをコピーし、XML文書のルートノードに付加します


ノードのコピー

cloneNode()メソッドは、指定されたノードのコピーを作成します。

cloneNode()メソッドは、パラメータ(true または false)を持っています。 このパラメタは、クローンノードが、オリジナルのノードの全属性と子ノードを含むかどうかを指定します。

以下のコードは、最初の<book>ノードをコピーし、文書のルートノードに追加します:

Example

xmlDoc=loadXMLDoc("books.xml");

oldNode=xmlDoc.getElementsByTagName('book')[0];
newNode=oldNode.cloneNode(true);
xmlDoc.documentElement.appendChild(newNode);

//Output all titles
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

試してください »

例の説明:

  1. loadXMLDoc()を用い、xmlDocに"books.xml"をロードします
  2. コピーするノードを取得します
  3. cloneNodeメソッドを使用して、"newNode"にノードをコピーします
  4. XML文書のルートノードに、新規ノードを付加します
  5. 文書における、全てのbookのタイトルを出力します

« 前章へ 次章へ »