XML DOM ノード値の変更
nodeValueプロパティは、ノード値の変更に使用されます。
setAttribute()メソッドは、属性値の変更に使用します。
例
以下の例は、XMLファイルbooks.xmlを使用します。
外部JavaScriptの関数 loadXMLDoc()は、XMLファイルをロードするのに使用します。
要素テキストノードの変更
この例は、"books.xml"の最初の<title>要素のテキストノードを変更するために、nodeValueプロパティを使用します。
setAttributeを用いた属性値の変更
この例は、最初の<book>の"category"属性の値を変更するために、setAttribute()メソッドを使用します。
nodeValueを用いた属性値の変更
この例は、最初の<book>の"category"属性の値を変更するために、nodeValueプロパティを用います。
要素の値の変更
DOM では、すべてがノードです。 要素ノードは、テキスト値を持ちません。
要素ノードのテキストは子ノードに格納されます。 このノードは、テキストノードと呼ばれます。
要素のテキストを変更する方法は、子ノード(テキストノード)の値を変更することです。
テキストノードの値の変更
nodeValueプロパティは、テキストノード値の変更に使用されます。
以下のコードは、最初の <title> 要素のテキストノード値を変更します:
例
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Cooking";
|
試してください »
|
例の説明:
- loadXMLDoc() を用い、xmlDoc に "books.xml" をロードします
- 最初の <title> 要素のテキストノードを取得します
- テキストノードのノード値を "Easy Cooking" に変更します
ループして全ての <title> 要素のテキストノードを変更する:
試してください
属性の値の変更
DOMでは、属性はノードです。 要素ノードとは異り、属性ノードはテキスト値を持ちます。
属性の価値を変更するための方法は、そのテキスト値を変更することです。
これは、setAttribute()メソッドを使うか、または属性ノードのnodeValueプロパティを使って行うことができます。
setAttribute()を使用した属性の変更
setAttribute()メソッドは、既存の属性値を変更するか、または新しい属性を作成します。
以下のコードは、<book>要素のcategory 属性を変更します:
例
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("category","food");
|
試してください »
|
例の説明:
- loadXMLDoc()を用い、xmlDocに"books.xml"をロードします
- 最初の<book>要素を取得します
- "category"属性値を"food"に変更します
すべての<title>要素を通るループをして、新しい属性を追加します:
試してください
注: もし属性が存在しなければ、新しい属性が(指定された名前と値によって)作られます。
nodeValueを使用した属性の変更
nodeValueプロパティは、属性ノードの値を変更するために使用することができます:
例
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0]
y=x.getAttributeNode("category");
y.nodeValue="food";
|
試してください »
|
例の説明:
- loadXMLDoc()を用い、xmlDocに"books.xml"をロードします
- 最初の<book>要素の"category" 属性を取得します。
- 属性ノード値を"food"に変更します
|