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);
|
試してください »
|
例の説明:
- loadXMLDoc()を用い、xmlDocに"books.xml"をロードします
- 新規要素ノード<edition>を作成します
- 最初の<book>要素に、要素ノードを付加します
ループすることで、全ての<book>要素に要素を追加します:
試してください
属性ノードの新規作成
createAttribute()は、属性ノードを新規作成するために使用します:
Example
xmlDoc=loadXMLDoc("books.xml");
newatt=xmlDoc.createAttribute("edition");
newatt.nodeValue="first";
x=xmlDoc.getElementsByTagName("title");
x[0].setAttributeNode(newatt);
|
試してください »
|
例の説明:
- loadXMLDoc()を用い、xmlDocに"books.xml"をロードします
- 新規属性ノード"edition"を作成します
- "first"に、属性ノードの値を設定します
- 最初の<title>要素に、新規属性ノードを追加します
すべての<title>要素を通るループで、属性ノードを追加します:
Try
it yourself
注: 属性が既に存在している場合、新規属性に置き換えられます。
setAttribute()を用いたノードの作成
属性が存在していなければ、setAttribute()メソッドが新しい属性を作成するので、新規属性を作成するのに使用できます。
Example
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("edition","first");
|
試してください »
|
例の説明:
- loadXMLDoc()を用い、xmlDocに"books.xml"をロードします
- 最初の要素に、値"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);
|
試してください »
|
例の説明:
- loadXMLDoc()を用い、xmlDocに"books.xml"をロードします
- 新規要素ノード<edition>を作成します
- テキスト"first"を持つ、新規テキストノードを作成します
- 新規テキストノードを要素ノードに付加します
- 最初の<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);
|
試してください »
|
例の説明:
- loadXMLDoc()を用い、xmlDocに"books.xml"をロードします
- 新規CDATAセクションノードを作成します
- 最初の<book>要素に、新規CDATAノードを付加します
ループし、全ての<book>要素にCDATAセクションを追加します:
試してください
コメントノードの作成
createComment()メソッドは、新規コメントノードを作成します。
Example
xmlDoc=loadXMLDoc("books.xml");
newComment=xmlDoc.createComment("Revised March 2008");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newComment);
|
試してください »
|
例の説明:
- loadXMLDoc()を用い、xmlDocに"books.xml"をロードします
- 新規コメントノードを作成します
- 最初の<book>要素に、新規コメントノードを付加します
ループし、全ての<book>要素にコメントノードを追加します:
試してください
|