XML DOM ノードの作成
- 前のページ DOM ノードの置き換え
- 次のページ DOM ノードの追加
インスタンス
以下の例では、XMLファイルを使用します books.xml
関数 loadXMLDoc()外部JavaScriptに位置しており、XMLファイルをロードするために使用されます。
- 要素ノードを作成します
- この例では、createElement()を使用して新しい要素ノードを作成し、appendChild()を使用してそのノードを追加します。
- createAttributeを使用して属性ノードを作成します
- この例では、createAttribute()を使用して新しい属性ノードを作成し、setAttributeNode()を使用してそのノードを要素に挿入します。
- setAttributeを使用して属性ノードを作成します
- この例では、setAttribute()を使用して新しい属性を作成します。
- テキストノードの作成
- この例では、createTextNode()を使用して新しいテキストノードを作成し、appendChild()を使用してそのテキストノードを要素に追加します。
- CDATAセクションノードを作成します
- この例では、createCDATAsection()を使用してCDATAセクションノードを作成し、appendChild()を使用して要素に追加します。
- コメントノードの作成
- この例では、createComment()を使用してcommentノードを作成し、appendChild()を使用して要素に追加します。
新しい要素ノードの作成
createElement() メソッドは新しい要素ノードを生成します:
xmlDoc=loadXMLDoc("books.xml"); newel=xmlDoc.createElement("edition"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel);
例説明:
- 使用することで loadXMLDoc() " をbooks.xml" xmlDoc に読み込む
- 新しい要素ノード <edition> を作成します
- 最初の <book> 要素にこの要素ノードを追加します
すべての <book> 要素に要素を追加します:TIY
新しい属性ノードの作成
createAttribute() は新しい属性ノードを作成するために使用されます:
xmlDoc=loadXMLDoc("books.xml"); newatt=xmlDoc.createAttribute("edition"); newatt.nodeValue="first"; x=xmlDoc.getElementsByTagName("title"); x[0].setAttributeNode(newatt);
例説明:
- 使用することで loadXMLDoc() " をbooks.xml" xmlDoc に読み込む
- 新しい属性ノード "edition" を作成します
- 最初の <title> 要素にこの新しい属性ノードを追加します
すべての <title> 要素を巡回し、新しい属性ノードを追加します:TIY
注記:既に存在する属性がある場合、新しい属性で置き換わります。
setAttribute() メソッドを使用して属性を作成します
setAttribute() メソッドは属性が存在しない場合に新しい属性を作成できるので、このメソッドを使用して新しい属性を作成できます。
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); x[0].setAttribute("edition","first");
例説明:
- 使用することで loadXMLDoc() " をbooks.xml" xmlDoc に読み込む
- 最初の <book> 要素に値が "first" の属性を設定(作成)します
すべての <title> 要素を巡回し、新しい属性を追加します:TIY
テキストノードの作成
createTextNode() メソッドは新しいテキストノードを生成します:
xmlDoc=loadXMLDoc("books.xml"); newel=xmlDoc.createElement("edition"); newtext=xmlDoc.createTextNode("first"); newel.appendChild(newtext); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel);
例説明:
- 使用することで loadXMLDoc() " をbooks.xml" xmlDoc に読み込む
- 新しい要素ノード <edition> を作成します
- テキストが "first" の新しいテキストノードを作成します
- この要素ノードに新しいテキストノードを追加します
- 最初の <book> 要素に新しい要素ノードを追加します
すべての <book> 要素にテキストノードを持つ新しい要素ノードを追加します:TIY
CDATA Section ノードの作成
createCDATASection() メソッドは新しい CDATA section ノードを生成します。
xmlDoc=loadXMLDoc("books.xml"); newCDATA=xmlDoc.createCDATASection("Special Offer & Book Sale"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newCDATA);
例説明:
- 使用することで loadXMLDoc() " をbooks.xml" xmlDoc に読み込む
- 新しい CDATA section ノードを作成する
- 新しい CDATA section ノードを最初の <book> エレメントに追加する
すべての <book> エレメントに CDATA section を追加するループ:TIY
コメントノードの作成
createComment() メソッドは新しいコメントノードを作成します。
xmlDoc=loadXMLDoc("books.xml"); newComment=xmlDoc.createComment("Revised March 2008"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newComment);
例説明:
- 使用することで loadXMLDoc() " をbooks.xml" xmlDoc に読み込む
- 新しいコメントノードを作成する
- 新しいコメントノードを最初の <book> エレメントに追加する
すべての <book> エレメントに comment ノードを追加するループ:TIY
- 前のページ DOM ノードの置き換え
- 次のページ DOM ノードの追加