最新のWeb開発のチュートリアル
 

XML DOMは、ノードの追加します


それを自分で試してみてください - 例

以下の例は、XMLファイルの使用のBooks.xmlを

最後の子ノードの後にノードを追加します。
この例では、使用してappendChild()既存のノードに子ノードを追加します。

指定された子ノードの前にノードを追加します。
この例では、使用insertBefore()指定された子ノードの前にノードを挿入します。

新しい属性を追加します。
この例では、使用setAttribute()新しい属性を追加する方法を。

テキストノードにデータを追加します。
この例では、使用していますinsertData()既存のテキストノードにデータを挿入します。

×

ヘッダ


ノードの追加- appendChild()

appendChild()メソッドは、既存のノードに子ノードを追加します。

新しいノードが追加される(appended)既存の子ノードの後に。

Note:使用insertBefore()ノードの位置が重要である場合。

このコードは、要素を作成します(<edition>)と、第1の最後の子の後に追加します<book>要素:

newEle = xmlDoc.createElement("edition");

xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
»それを自分で試してみてください

例を説明しました:

  1. 「仮定のBooks.xmlが 「XMLDOCにロードされます
  2. 新しいノードを作成<edition>
  3. 最初にノードを追加し<book>要素

このコードは、上記と同じことが、新しい要素が値に追加されます。

newEle = xmlDoc.createElement("edition");
newText=xmlDoc.createTextNode("first");
newEle.appendChild(newText);

xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
»それを自分で試してみてください

例を説明しました:

  1. 「仮定のBooks.xmlが 「XMLDOCにロードされます
  2. 新しいノードを作成<edition>
  3. 新しいテキストノードを作成する"first"
  4. テキストノードを追加し<edition>ノード
  5. 追加<addition>のノード<book>要素を

ノードを挿入します- insertBefore()

insertBefore()メソッドは、指定された子ノードの前にノードを挿入します。

追加されたノードの位置が重要である場合は、この方法が便利です。

newNode = xmlDoc.createElement("book");

x = xmlDoc.documentElement;
y = xmlDoc.getElementsByTagName("book")[3];

x.insertBefore(newNode,y);
»それを自分で試してみてください

例を説明しました:

  1. 「仮定のBooks.xmlが 「XMLDOCにロードされます
  2. 新しい要素ノードを作成<book>
  3. 最後の前に新しいノードを挿入し<book>要素ノード

2番目のパラメータ場合insertBefore() nullの場合、新しいノードは、最後の既存の子ノードの後に追加されます。

x.insertBefore(newNode,null)とx.appendChild(newNode) xに新しい子ノードを追加します両方。


新しい属性を追加します。

setAttribute()メソッドは、属性の値を設定します。

xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first");
»それを自分で試してみてください

例を説明しました:

  1. 「仮定のBooks.xmlは 「XMLDOCにロードされています
  2. 属性の値を設定し"edition""first"最初のため<book>要素

アドと呼ばれる方法がないAttribute()
setAttribute()属性が存在しない場合は、新しい属性を作成します。

Note:属性がすでに存在する場合、 setAttribute()メソッドは、既存の値を上書きします。


テキスト・ノードにテキストを追加- insertData()

insertData()メソッドは、既存のテキストノードにデータを挿入します。

insertData()メソッドは、2つのパラメータがあります。

  • オフセット-挿入する文字を開始する場合は(starts at zero)
  • 文字列 - 挿入する文字列

次のコードは、追加されます"Easy"最初のテキストノードに<title>ロードされたXMLの要素:

xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"Easy ");
»それを自分で試してみてください