目次へ

解答例 - 実習課題2 - 2.XML文書を読む

(実習課題2)

  employees.xmlファイルを読み込み、従業員の名前(employee要素の子要素nameの内容)の一覧を表示しなさい。
  ここでは、DocumentおよびNodeのみを使用してプログラムを書くこと
    ・要素の名前はgetNodeName()で取得する
    ・テキストの内容はgetNodeValue()で取得する

解答例

/**
 * GetEmployeeNames.java
 * 
 * TECHSCORE Java XML DOM XSLT 2章 実習課題2
 * 
 * Copyright (c) 2004 Four-Dimensional Data, Inc.
 */
package com.techscore.dom.chapter2.exercise2;

import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Node;

public class GetEmployeeNames {

    public static void main(String[] args) throws Exception {

        Document document = DocumentBuilderFactory.newInstance()
                .newDocumentBuilder()
                .parse("employees.xml");

        int i = 0;
        Node rootNode = (Node) (document.getDocumentElement());
        Node employeeNode = rootNode.getFirstChild();
        while (employeeNode != null) {
            if (!employeeNode.getNodeName().equals("employee")) {
                employeeNode = employeeNode.getNextSibling();
                continue;
            }
            i++;
            Node nameNode = employeeNode.getFirstChild();
            while (nameNode != null) {
                if (!nameNode.getNodeName().equals("name")) {
                    nameNode = nameNode.getNextSibling();
                    continue;
                }
                Node node = nameNode.getFirstChild();
                if (node != null) {
                    System.out.println(i + "番目の従業員の名前は " + node.getNodeValue()
                            + " です。");
                }
                break;
            }
            employeeNode = employeeNode.getNextSibling();
        }
    }
}

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp