解答例 - 実習課題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(); } } }