XML DOM ノードの追加
試してみる - 例
以下の例では XML ファイルを使用します。
関数loadXMLDoc()、外部 JavaScript 内にあり、XML ファイルの読み込みに使用されます。
この例では、appendChild() メソッドを使用して、既存のノードに子ノードを追加します。
この例では、insertBefore() メソッドを使用して、指定した子ノードの前にノードを挿入します。
この例では、setAttribute() メソッドを使用して新しい属性を追加します。
この例では、insertData() を使用して、既存のテキストノードにデータを挿入します。
ノードの追加 - appendChild()
appendChild() メソッドは、既存のノードに子ノードを追加します。
新しいノードは、既存の子ノードの後に追加されます。
注意:ノードの位置が重要な場合は、insertBefore() メソッドを使用してください。
次のコードスニペットは、要素(<edition>)を作成し、最初の <book> 要素の最後の子ノードの後に追加します:
例
newel=xmlDoc.createElement("edition");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newel);
試してみる »
例の説明:
- 使用loadXMLDoc()"" を xmlDoc に読み込みます。
- 新しいノード <edition> を作成します
- このノードを最初の <book> 要素に追加します
すべての <book> 要素をループし、1つの要素を追加します:
ノードの挿入 - insertBefore()
insertBefore() メソッドは、指定した子ノードの前にノードを挿入するために使用されます。
追加されるノードの位置が重要な場合、このメソッドは役立ちます:
例
newNode=xmlDoc.createElement("book");
x=xmlDoc.documentElement;
y=xmlDoc.getElementsByTagName("book")[3];
x.insertBefore(newNode,y);
試してみる »
例の説明:
- 使用loadXMLDoc()"" を xmlDoc に読み込みます。
- 新しい要素ノード <book> を作成します
- この新しいノードを最後の <book> 要素ノードの前に挿入します
insertBefore() の第2引数が null の場合、新しいノードは最後の既存の子ノードの後に追加されます。
x.insertBefore(newNode,null)とx.appendChild(newNode)どちらも x に新しい子ノードを追加できます。
新しい属性の追加
addAtribute() というメソッドは存在しません。
属性が存在しない場合、setAttribute() は新しい属性を作成できます:
例
x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("edition","first");
試してみる »
例の説明:
- 使用loadXMLDoc()"" を xmlDoc に読み込みます。
- 最初の <book> 要素の "edition" 属性の値を "first" に設定(作成)します。
注意:属性がすでに存在する場合、setAttribute() メソッドは既存の値を上書きします。
テキストノードにテキストを追加 - insertData()
insertData() メソッドは、既存のテキストノードにデータを挿入します。
insertData() メソッドには2つのパラメータがあります:
- offset - 文字の挿入を開始する位置(0 から始まります)
- string - 挿入する文字列
次のコードスニペットは、"Easy" を読み込まれた XML の最初の <title> 要素のテキストノードに追加します:
例
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.insertData(0,"Easy ");
試してみる »
その他の拡張