XMLDOM置換ノード
replaceChild()メソッドは、指定されたノードを置き換えます。
nodeValueプロパティは、テキストノードのテキストを置き換えます。
自分で試してみてください-例
以下の例では、XMLファイルbooks.xmlを使用しています。
を置き換える
この例では、replaceChild()を使用して最初の<book>ノードを置き換えます。
を置き換えるこの例では、nodeValueプロパティを使用して、テキストノードのデータを置き換えます。
要素ノードを置き換える
replaceChild()メソッドは、ノードを置き換えるために使用されます。
次のコードフラグメントは、最初の<book>要素を置き換えます。
例
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement;
//create a book element, title element and a text node
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("A Notebook");
//add the text node to the title node,
newTitle.appendChild(newText);
//add the title node to the book node
newNode.appendChild(newTitle);
y=xmlDoc.getElementsByTagName("book")[0]
//replace the first book node with the new node
x.replaceChild(newNode,y);
説明された例:
- 「books.xml」をxmlDocに ロードします
- 新しい要素ノードを作成します<book>
- 新しい要素ノードを作成します<title>
- 「ノートブック」というテキストで新しいテキストノードを作成します
- 新しいテキストノードを新しい要素ノードに追加します<title>
- 新しい要素ノード<title>を新しい要素ノード<book>に追加します
- 最初の<book>要素ノードを新しい<book>要素ノードに置き換えます
テキストノードのデータを置き換える
replaceData()メソッドは、テキストノードのデータを置き換えるために使用されます。
replaceData()メソッドには3つのパラメーターがあります。
- offset-文字の置換を開始する場所。オフセット値はゼロから始まります
- 長さ-置換する文字数
- string-挿入する文字列
例
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,8,"Easy");
説明された例:
- 「books.xml」をxmlDocに ロードします
- 最初の<title>要素ノードのテキストノードを取得します
- replaceDataメソッドを使用して、テキストノードの最初の8文字を「Easy」に置き換えます。
代わりにnodeValueプロパティを使用してください
nodeValueプロパティを使用すると、テキストノードのデータを簡単に置き換えることができます。
次のコードフラグメントは、最初の<title>要素のテキストノード値を「EasyItalian」に置き換えます。
例
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Italian";
説明された例:
- 「books.xml」をxmlDocにロードします
- 最初の<title>要素ノードのテキストノードを取得します
- nodeValueプロパティを使用して、テキストノードのテキストを変更します
ノード値の変更について詳しくは、「ノードの変更」の章を参照してください。