ホーム HTML CSS XML JAVASCRIPT   PHP SQL MORE...   リファレンス 事例集    

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";

試してください »

例の説明:

  1. loadXMLDoc() を用い、xmlDoc に "books.xml" をロードします
  2. 最初の <title> 要素のテキストノードを取得します
  3. テキストノードのノード値を "Easy Cooking" に変更します

ループして全ての <title> 要素のテキストノードを変更する: 試してください


属性の値の変更

DOMでは、属性はノードです。 要素ノードとは異り、属性ノードはテキスト値を持ちます。

属性の価値を変更するための方法は、そのテキスト値を変更することです。

これは、setAttribute()メソッドを使うか、または属性ノードのnodeValueプロパティを使って行うことができます。


setAttribute()を使用した属性の変更

setAttribute()メソッドは、既存の属性値を変更するか、または新しい属性を作成します。

以下のコードは、<book>要素のcategory 属性を変更します:

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("category","food");

試してください »

例の説明:

  1. loadXMLDoc()を用い、xmlDocに"books.xml"をロードします
  2. 最初の<book>要素を取得します
  3. "category"属性値を"food"に変更します

すべての<title>要素を通るループをして、新しい属性を追加します: 試してください

注: もし属性が存在しなければ、新しい属性が(指定された名前と値によって)作られます。


nodeValueを使用した属性の変更

nodeValueプロパティは、属性ノードの値を変更するために使用することができます:

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("book")[0]
y=x.getAttributeNode("category");
y.nodeValue="food";

試してください »

例の説明:

  1. loadXMLDoc()を用い、xmlDocに"books.xml"をロードします
  2. 最初の<book>要素の"category" 属性を取得します。
  3. 属性ノード値を"food"に変更します

« 前章へ 次章へ »