XML DOM 上級
XML DOM - 上級
にこのチュートリアルの以前の章では、XML DOM を紹介し、XML DOM の getElementsByTagName() メソッドを使用して XML ドキュメントからデータを取得しました。
この章では、その他の重要な XML DOM メソッドをいくつか紹介します。
当サイトのXML DOM チュートリアルで、XML DOM に関する詳細を学ぶことができます。
要素の値を取得する
以下の例で使用する XML ファイル:。
次の例では、最初の <title> 要素のテキスト値を取得します:
属性の値を取得する
次の例では、最初の <title> 要素の "lang" 属性のテキスト値を取得します:
要素の値を変更する
次の例では、最初の <title> 要素のテキスト値を変更します:
新しい属性を作成する
XML DOM の setAttribute() メソッドは、既存の属性値を変更したり、新しい属性を作成したりするために使用できます。
次の例では、新しい属性(edition="first")を作成し、それをすべての <book> 要素に追加しています:
例
for(i=0;i<x.length;i++)
{
x[i].setAttribute("edition","first");
}
試してみる »
要素を作成する
XML DOM の createElement() メソッドは、新しい要素ノードを作成します。
XML DOM の createTextNode() メソッドは、新しいテキストノードを作成します。
XML DOM の appendChild() メソッドは、ノードに子ノードを(最後の子ノードの後に)追加します。
テキスト内容を持つ新しい要素を作成するには、新しい要素ノードと新しいテキストノードを同時に作成し、それを既存のノードに追加する必要があります。
次の例では、新しい要素(<edition>)をテキスト「First」付きで作成し、それを最初の <book> 要素に追加しています:
例
newtext=xmlDoc.createTextNode("First");
newel.appendChild(newtext);
x=xmlDoc.getElementsByTagName("book");
x[0].appendChild(newel);
試してみる »
例の説明
- <edition> 要素を作成する
- 「First」という値のテキストノードを作成する
- このテキストノードを新しい <edition> 要素に追加する
- <edition> 要素を最初の <book> 要素に追加する
要素を削除する
次の例では、最初の <book> 要素の最初のノードを削除します:
注:上記の例の結果は、使用するブラウザによって異なる場合があります。Firefox は改行文字を空のテキストノードとして扱いますが、Internet Explorer はそうではありません。当サイトのXML DOM チュートリアルで、この問題とその回避方法について詳しく読むことができます。
その他の拡張