ホーム > X-Plus > XML Square >  デベロッパーズコーナー  >  DOMプログラミング講座

この記事を送る はてなブックマークに追加する BuzzurlにブックマークBuzzurlにブックマーク Yahoo!ブックマークに登録
テキストリンクコードを取得する

デベロッパーズコーナー:DOMプログラミング講座 I(9)

2001年08月10日作成 

使って理解するDOMプログラミング
第1回:DOMの基本 「入門編」
(株)日本ユニテック
竹内 理


目次<全12ページ>

        1.はじめる前に
9.    5.STEP4:属性リストを取得する-NamedNodeMapオブジェクトの使用
    おわりに


DOMのオブジェクトに触ってみよう

5. STEP4:属性リストを取得する-NamedNodeMapオブジェクトの使用

ノードのリストを名前で操作するオブジェクトがNamedNodeMapです。次のステップとしてこのオブジェクトを使ってみましょう。「author」要素が持つ属性のリストをNamedNodeMapオブジェクトとして取得することができます。NamedNodeMapクラスの詳細については別表5を参照してください。

最初に次のimport文を追加してください。

import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Attr;

次にリスト5の続きに以下のコードを追加してください。

NamedNodeMap atList = atEl.getAttributes();//(12)「author」要素の属性リストを取得
System.out.println("属性の数は:" + atList.getLength());//(13)リストに含まれる属性の数を取得
Attr atCountry = (Attr)atList.getNamedItem("country");//(14)属性「country」を取得
System.out.println("country属性の値は:" + atCountry.getNodeValue());

リスト7.属性リストを取得するプログラムを追加

(12)では「author」要素を表すElementオブジェクトatElでメソッドgetAttributes()を使用して「author」がもつ属性のリストatListを取得します。帰ってくるリストはNamedNodeMapオブジェクトです。(13)ではNamedNodeMapクラスのメソッドgetLength()を使用してリストに含まれる属性の数を取得、表示します。(14)でNamedNodeMapクラスのメソッドgetNamedItem()を使用して属性「country」を表すオブジェクトatCountryを取得します。GetNamedItem()メソッドでは、引数に属性の名前を渡すことによって任意のノードが取得できます。

以下に実行結果を示します。

ルートノードの種類は:1
ルートノードの名前は:books
bookの3番目の子要素の名前は:author
属性の数は:2←「author」要素は「country」「sex」の2つの属性を持っています。
country属性の値は:Germany ←「country」属性の値は「Germany」です。

リスト8.STEP4の実行結果



関連サービス

IT技術およびIT製品の可用性調査・検証業務





ページトップへ戻る