import javax.xml.parsers.*; import org.w3c.dom.*; import java.io.*; public class HelloWorldDOMPageList { public static void main(String[] args) { try { // ドキュメントビルダーファクトリを生成 DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance(); // ドキュメントビルダーを生成 DocumentBuilder builder = dbfactory.newDocumentBuilder(); // パースを実行してDocumentオブジェクトを取得 Document doc = builder.parse(new File("site.xml")); // ルート要素を取得(タグ名:site) Element root = doc.getDocumentElement(); System.out.println("ルート要素のタグ名:" + root.getTagName()); System.out.println("***** ページリスト *****"); // page要素のリストを取得 NodeList list = root.getElementsByTagName("page"); // page要素の数だけループ for (int i=0; i < list.getLength() ; i++) { // page要素を取得 Element element = (Element)list.item(i); // id属性の値を取得 String id = element.getAttribute("id"); // title要素のリストを取得 NodeList titleList = element.getElementsByTagName("title"); // title要素を取得 Element titleElement = (Element)titleList.item(0); // title要素の最初の子ノード(テキストノード)の値を取得 String title = titleElement.getFirstChild().getNodeValue(); // file要素のリストを取得 NodeList fileList = element.getElementsByTagName("file"); // file要素を取得 Element fileElement = (Element)fileList.item(0); // file要素の最初の子ノード(テキストノード)の値を取得 String file = fileElement.getFirstChild().getNodeValue(); System.out.println("ID:" + id + " " + "タイトル:" + title + " " + "ファイル:" + file); } } catch (Exception e) { e.printStackTrace(); } } }