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

XML DOM ノードの作成

« 前章へ 次章へ »

以下の例は、XMLファイルbooks.xmlを使用します。
外部JavaScriptの関数 loadXMLDoc()は、XMLファイルをロードするのに使用します。

要素ノードの作成
この例は、createElement()を用いて新規要素ノードを作成し、それをappendChild()でノードに追加します。

createAttributeを用いた属性ノードの作成
この例は、createAttribute()を用いて属性ノードを作成し、それをsetAttributeNode()で要素に挿入します。

setAttributeを用いた属性ノードの作成
この例は、要素の新規属性を作成するために、setAttribute()を使用します。

テキストノードの作成
この例は、createTextNode()を用いて新規テキストノードを作成し、それをappendChild()で要素に追加します。

CDATAセクションノードの作成
この例は、createCDATAsection()を用いてCDATAセクションノードを作成し、それをappendChild()で要素に追加します。

コメントノードの作成
この例は、createComment()を用いてコメントノードを作成し、それをappendChild()で要素に追加します。


新規要素ノードの作成

createElement()メソッドは、新規要素ノードを作成します:

Example

xmlDoc=loadXMLDoc("books.xml");

newel=xmlDoc.createElement("edition");

x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newel);

試してください »

例の説明:

  1. loadXMLDoc()を用い、xmlDocに"books.xml"をロードします
  2. 新規要素ノード<edition>を作成します
  3. 最初の<book>要素に、要素ノードを付加します

ループすることで、全ての<book>要素に要素を追加します: 試してください


属性ノードの新規作成

createAttribute()は、属性ノードを新規作成するために使用します:

Example

xmlDoc=loadXMLDoc("books.xml");

newatt=xmlDoc.createAttribute("edition");
newatt.nodeValue="first";

x=xmlDoc.getElementsByTagName("title");
x[0].setAttributeNode(newatt);

試してください »

例の説明:

  1. loadXMLDoc()を用い、xmlDocに"books.xml"をロードします
  2. 新規属性ノード"edition"を作成します
  3. "first"に、属性ノードの値を設定します
  4. 最初の<title>要素に、新規属性ノードを追加します

すべての<title>要素を通るループで、属性ノードを追加します: Try it yourself

注: 属性が既に存在している場合、新規属性に置き換えられます。


setAttribute()を用いたノードの作成

属性が存在していなければ、setAttribute()メソッドが新しい属性を作成するので、新規属性を作成するのに使用できます。

Example

xmlDoc=loadXMLDoc("books.xml");

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

試してください »

例の説明:

  1. loadXMLDoc()を用い、xmlDocに"books.xml"をロードします
  2. 最初の要素に、値"first"を持つ属性 "edition"を設定(作成)します

すべての<title>要素を通るループで、新規属性を追加します: Try it yourself


テキストノードの作成

createTextNode()メソッドは、新規テキストノードを作成します:

Example

xmlDoc=loadXMLDoc("books.xml");

newel=xmlDoc.createElement("edition");
newtext=xmlDoc.createTextNode("first");
newel.appendChild(newtext);

x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newel);

試してください »

例の説明:

  1. loadXMLDoc()を用い、xmlDocに"books.xml"をロードします
  2. 新規要素ノード<edition>を作成します
  3. テキスト"first"を持つ、新規テキストノードを作成します
  4. 新規テキストノードを要素ノードに付加します
  5. 最初の<book>要素に、新規要素ノードを付加します

テキストノードを持つ要素ノードを、すべての<book>要素に追加します: 試してください


CDATAセクションノードの作成

createCDATASection()メソッドは、新規CDATAセクションノードを作成します。

Example

xmlDoc=loadXMLDoc("books.xml");

newCDATA=xmlDoc.createCDATASection("Special Offer & Book Sale");

x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newCDATA);

試してください »

例の説明:

  1. loadXMLDoc()を用い、xmlDocに"books.xml"をロードします
  2. 新規CDATAセクションノードを作成します
  3. 最初の<book>要素に、新規CDATAノードを付加します

ループし、全ての<book>要素にCDATAセクションを追加します: 試してください


コメントノードの作成

createComment()メソッドは、新規コメントノードを作成します。

Example

xmlDoc=loadXMLDoc("books.xml");

newComment=xmlDoc.createComment("Revised March 2008");

x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newComment);

試してください »

例の説明:

  1. loadXMLDoc()を用い、xmlDocに"books.xml"をロードします
  2. 新規コメントノードを作成します
  3. 最初の<book>要素に、新規コメントノードを付加します

ループし、全ての<book>要素にコメントノードを追加します: 試してください


« 前章へ 次章へ »