XML DOM ノードの置換
replaceChild() メソッドは、指定したノードを置換します。
nodeValue プロパティは、テキストノードのテキストを置換します。
例
以下の例は、XMLファイルbooks.xmlを使用します。
外部JavaScriptの関数 loadXMLDoc()は、XMLファイルをロードするのに使用します。
要素ノードの置換
この例は、replaceChild()を使用して、最初の<book>ノードを置換します。
テキストノードのデータを置換
この例は、nodeValueプロパティを使用して、テキストノードのデータを置換します。
要素ノードの置換
replaceChild() メソッドは、ノードを置換するのに使用します。
以下のコードは、最初の <book> 要素を置換します:
Example
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement;
//book要素、title要素 及び テキストノードの作成
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("A Notebook");
//titleノードへのテキストノード追加
newTitle.appendChild(newText);
//bookノードへの titleノード追加
newNode.appendChild(newTitle);
y=xmlDoc.getElementsByTagName("book")[0]
//新ノードで最初のbookノードを置換
x.replaceChild(newNode,y);
|
試してください »
|
例の説明:
- loadXMLDoc()を用い、xmlDocに"books.xml"をロードします
- 新規要素ノード<book>を作成します
- 新規要素ノード<title>を作成します
- テキスト"A Notebook"を持つ、新規テキストノード<book>を作成します
- 新しいテキストノードを、新規要素ノード<title>に付加します
- 新しい要素ノード<title>を、新規要素ノード<book>に付加します
- 新しい<book>要素ノードで、最初の<book>要素ノードを置換します
テキストノードのデータ置換
replaceData()メソッドは、テキストノードのデータ置換に使用します。
replaceData()メソッドには、3つのパラメタがあります:
- オフセット - 文字の置換をどこから始めるか。オフセット値はゼロからスタートします
- 長さ - 置換する文字数
- 文字列 - 挿入する文字列
Example
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,8,"Easy");
|
試してください »
|
例の説明:
- loadXMLDoc()を用い、xmlDocに"books.xml"をロードします
- 最初の<title>要素ノードの、テキストノードを取得します
- テキストノードの先頭から8文字を、"Easy"に置換するためreplaceDatメソッドを使用します
代わりにnodeValueプロパティを使用する
nodeValueプロパティを使用すると、テキストノードのデータ置換がより簡単になります。
以下のコードは、最初の<title>要素のテキストノード値を、"Easy Italian"に置換します:
Example
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Italian";
|
試してください »
|
例の説明:
- loadXMLDoc()を用い、xmlDocに"books.xml"をロードします
- 最初の<title>要素ノードのテキストノードを取得します
- nodeValueプロパティを使用し、テキストノードのテキストを変更します
ノードの文字変更の章で、ノード値を変えることに関してもう少し読むことができます。
|