目次へ

3. XML文書を読む2

3.1. NodeList

Nodeのメソッドに"getChildNodes()"というのがあります。これは、あるノードの子ノードのリストを返すメソッドで、戻り値の型はNodeListになります。NodeListには、以下の2つのメソッドが用意されています。

メソッド 内容
public Node item(int index)
引数に指定されたインデックスのノードを返す。指定されたインデックスが、子ノードの数以上であった場合、nullが返される。最初の子ノードを取得する場合は"0"を指定する。
public int getLength() リストにあるノードの数を取得する。

2章のプログラムをNodeListを使用して記述すると以下のようになります。

     1  import java.io.*;
     2  import org.w3c.dom.Document;
     3  import org.w3c.dom.Node;
     4  import org.w3c.dom.NodeList;
     5  import javax.xml.parsers.*;
     6  
     7  public class NodeListSample{
     8      
     9      public static void main(String args[]) throws Exception{
    10          
    11          Document document= DocumentBuilderFactory
    12              .newInstance()
    13              .newDocumentBuilder()
    14              .parse(new File("employee.xml"));
    15          
    16          Node node=document.getDocumentElement();
    17          
    18          NodeList childNodes=node.getChildNodes();
    19          for(int i=0;i<childNodes.getLength();i++){
    20              short type=childNodes.item(i).getNodeType();
    21              String typeStr="";
    22              switch( type){
    23              case Node.ATTRIBUTE_NODE:
    24                  typeStr +="属性";
    25                  break;
...

  59              }
    60  
    61              System.out.println(i+"番目の子ノードは"+typeStr+"です。");
    62              
    63          }
    64  
    65      }
    66      
    67  }

18行目で最初の子供要素を取得する代わりに、子ノードのリストを取得しています。19-63行目で、子ノードの数だけ、子ノードの型をチェックし、コンソールに表示しています。

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp