XML DOM ノードの置換

replaceChild() メソッドは指定されたノードを置き換えます。

nodeValue 属性を使用してテキストノード内のテキストを置き換えます。

以下の例では、XML ファイルを使用します books.xml

関数 loadXMLDoc()、外部の JavaScript 内に位置し、XML ファイルをロードするために使用されます。

要素ノードを置き換える
この例では、replaceChild() を使用して最初の <book> ノードを置き換えます。
テキストノード内のデータを置き換える
この例では、nodeValue 属性を使用してテキストノード内のデータを置き換えます。

要素ノードを置き換える

replaceChild() メソッドはノードを置き換えるために使用されます。

以下のコードスニペットは最初の <book> 要素を置き換えます:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement;
//book 要素、title 要素、およびテキストノードを作成します
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("Hello World");
//title ノードにテキストノードを追加します
newTitle.appendChild(newText);
//book ノードに title ノードを追加します
newNode.appendChild(newTitle);
y=xmlDoc.getElementsByTagName("book")[0];
//この新しいノードを使用して最初の book ノードを置き換えます
x.replaceChild(newNode, y);

例解:

  • 以下の例では loadXMLDoc() " をbooks.xml" xmlDoc に読み込みます
  • 新しい要素ノード <book> を作成します
  • 新しい要素ノード <title> を作成します
  • テキスト「Hello World」を持つ新しいテキストノードを作成します
  • 新しい要素ノード <title> にこの新しいテキストノードを追加します
  • 新しい要素ノード <book> にこの新しい要素ノード <title> を追加します
  • 新しい <book> ノード要素を使用して最初の <book> ノード要素を置き換えます

TIY

テキストノード内のデータを置き換える

replaceData() メソッドはテキストノード内のデータを置き換えるために使用されます。

replaceData() メソッドには 3 つのパラメータがあります:

  • offset - 文字の置き換え開始位置。Offset 値は 0 から始まります。
  • length - 置き換える文字数
  • string - 插入する文字列
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,8,"hello");

例解:

  • 以下の例では loadXMLDoc() " をbooks.xml" xmlDoc に読み込みます
  • 最初の <title> 元素のテキストノードを取得します
  • replaceData メソッドを使用してテキストノードの最初の 8 文字を「hello」に置き換えます

TIY

nodeValue 属性を使用して

nodeValue 属性を使用してテキストノード内のデータを置き換えるのはより簡単です。

以下のコードスニペットは、最初の <title> 元素のテキストノード値を「Easy Italian」で置き換えます:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Hello World";

例解:

  • 以下の例では loadXMLDoc() " をbooks.xml" xmlDoc に読み込みます
  • 最初の <title> 元素のテキストノードを取得します
  • nodeValue 属性を使用してこのテキストノードのテキストを変更できます

TIY

あなたは以下の場所で ノードの変更 このセクションでは、ノード値の変更に関する詳細についても読んでみてください。