'dom parser'에 해당되는 글 1건

  1. read xml file using dom parser 2008/07/04

read xml file using dom parser

from Java 2008/07/04 17:52
This sample code reads the XML file using DOM parser.
DOM parser loads the XML file into the memory and makes an object model of it.
This Object modal can be traversed to get its elements.

아래는 myxml.xml 파일의 element들을 console에 뿌려주는 예제입니다.

myxml.xml

<?xml version="1.0"?>
  <company>
      <employee>
           <firstname>Tom</firstname>
           <lastname>Cruise</lastname>
       </employee>
       <employee>
           <firstname>Paul</firstname>
           <lastname>Enderson</lastname>
       </employee>
       <employee>
           <firstname>George</firstname>
           <lastname>Bush</lastname>
       </employee>
  </company>

XMLReader.java

import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class XMLReader {

 public static void main(String argv[]) {

  try {
  File file = new File("c:\\myxml.xml");
  DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
  DocumentBuilder db = dbf.newDocumentBuilder();
  Document doc = db.parse(file);
  doc.getDocumentElement().normalize();
  System.out.println("Root element " + doc.getDocumentElement().getNodeName());
  NodeList nodeLst = doc.getElementsByTagName("employee");
  System.out.println("Information of all employees");

  for (int s = 0; s < nodeLst.getLength(); s++) {

    Node fstNode = nodeLst.item(s);
   
    if (fstNode.getNodeType() == Node.ELEMENT_NODE) {
 
      Element fstElmnt = (Element) fstNode;
      NodeList fstNmElmntLst = fstElmnt.getElementsByTagName("firstname");
      Element fstNmElmnt = (Element) fstNmElmntLst.item(0);
      NodeList fstNm = fstNmElmnt.getChildNodes();
      System.out.println("First Name : "  + ((Node) fstNm.item(0)).getNodeValue());
      NodeList lstNmElmntLst = fstElmnt.getElementsByTagName("lastname");
      Element lstNmElmnt = (Element) lstNmElmntLst.item(0);
      NodeList lstNm = lstNmElmnt.getChildNodes();
      System.out.println("Last Name : " + ((Node) lstNm.item(0)).getNodeValue());
    }

  }
  } catch (Exception e) {
    e.printStackTrace();
  }
 }
}

위 예제는 http://www.java-tips.org/java-se-tips/javax.xml.parsers/how-to-read-xml-file-in-java.html 에서 참고를 하였습니다.
Tag // , , ,