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

