XML DOM ノードの置換
replaceChild() メソッドは指定したノードを置換します。
nodeValue プロパティはテキストノード内のテキストを置換します。
試してみる - 例
次の例では、XML ファイルを読み込むための。
関数loadXMLDoc()(外部 JavaScript 内にあります)を使用します。
この例では、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("A Notebook");
//text ノードを title ノードに追加します
newTitle.appendChild(newText);
//title ノードを book ノードに追加します
newNode.appendChild(newTitle);
y=xmlDoc.getElementsByTagName("book")[0]
//新しいノードを使用して最初の book ノードを置換します
x.replaceChild(newNode,y);
試してみる »
例の説明:
- 使用してloadXMLDoc()「」を xmlDoc に読み込みます。
- 新しい要素ノード <book> を作成します
- 新しい要素ノード <title> を作成します
- テキスト「A Notebook」を含む新しいテキストノードを作成します
- この新しいテキストノードを新しい要素ノード <title> に追加します
- この新しい要素ノード <title> を新しい要素ノード <book> に追加します
- 最初の <book> 要素ノードを新しい <book> 要素ノードに置換します
テキストノード内のデータの置換
replaceData() メソッドは、テキストノード内のデータを置換するために使用されます。
replaceData() メソッドには3つのパラメータがあります:
- offset - 文字の置換を開始する位置。offset 値は 0 から始まります。
- length - 置換する文字数
- string - 挿入する文字列
例
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,8,"Easy");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,8,"Easy");
試してみる »
例の説明:
- 使用してloadXMLDoc()「」を xmlDoc に読み込みます。
- 最初の <title> 要素ノードのテキストノードを取得します
- replaceData メソッドを使用して、テキストノードの最初の8文字を「Easy」に置換します
nodeValue プロパティを使用する代替方法
nodeValue プロパティを使用してテキストノード内のデータを置換する方が簡単です。
次のコードスニペットは、最初の <title> 要素のテキストノード値を「Easy Italian」に置換します:
例
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Italian";
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Italian";
試してみる »
例の説明:
- 使用してloadXMLDoc()「」を xmlDoc に読み込みます。
- 最初の <title> 要素ノードのテキストノードを取得します
- nodeValue プロパティを使用して、このテキストノードのテキストを変更します
あなたは「ノードの変更」の章で、ノード値の変更に関する詳細を読むことができます。
その他の拡張