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

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

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

2001年08月10日作成 

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


目次<全12ページ>

        1.はじめる前に
7.    3.STEP2:ルートノードを取得する-Elementオブジェクトの使用
    おわりに


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

3.STEP2:ルートノードを取得する-Elementオブジェクトの使用

では次にこのXML文書のルートノードを取得して、そのノードの名前(プロパティnodeName)と値(nodeValue)を調べてみましょう。このSTEPでは「Document」に加えて「Element」オブジェクトが出てきます。「Element」は文書要素を表すオブジェクトです。Elementクラスの詳細については別表3を見てください。

まず次のimport文を追加します。

import org.w3c.dom.Element;

次にリスト2の
Document xdoc = xml.getDocument();  //(5)getDocumentメソッドでドキュメントオブジェクトを生成する。
の下に次のコードを追加してください。

Element rootEl = xdoc.getDocumentElement();      //(6)ルートのエレメント
System.out.println("ルートノードの種類は:" + rootEl.getNodeType());//(7)ルートノードの種類を取得
System.out.println("ルートノードの名前は:" + rootEl.getNodeName());//(8)ルートノードの値を取得

リスト3. ルートの要素を取得するプログラムを追加する

(6)ではDocumentクラスのメソッドgetDocumentElement()を使うことによってルートの要素rootElを生成しています。rootElは要素を表すElementクラスのインスタンスです。(7)ではNodeクラスのgetNodeType()メソッドを使ってルートノードの種類を取得します。(8)では同じくNodeクラスのgetNodeName()メソッドを使ってルートノードの名前を取得します。

実行結果は以下のようになります。

ルートノードの種類は:1 ←nodeTypeで「1」は文書要素を表します。
ルートノードの名前は:books

リスト4.STEP2の実行結果

NodeクラスのプロパティnodeType、nodeValue、nodeNameの値はNodeクラスから派生するクラスそれぞれに違う値になります。次にノードの種類ごとの3つのプロパティの値を示します。

ノードの種類 nodeTypeプロパティ nodeNameプロパティ nodeValueプロパティ
ELEMENT 1 タグの名前 Null
ATTRIBUTE 2 属性名 属性値
TEXT 3 #text テキスト部分
CDATA_SECTION 4 #cdata_section CDATAセクションの内容
ENTITY_REFERENCE 5 参照する実体名 Null
ENTITY 6 実体の名前 Null
PROCESSING
_INSTRUCTION
7 ターゲット ターゲットを除く内容全体
COMMENT 8 #comment コメントの内容
DOCUMENT 9 #document Null
DOCUMENT_TYPE 10 ドキュメントタイプ名 Null
DOCUMENT_FRAGMENT 11 #document_fragment Null
NOTATION 12 記法 Null



関連サービス

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





ページトップへ戻る