JAVA DOM파서이용 XML파일읽기, 자바에서 간단히 dom parser를 이용하여 xml 파일을 읽는 예제 입니다.
참고하세요~
[XMLTest.java]
package onj;
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;
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 XMLTest {
public static void main(String argv[]) {
try {
File file = new File("onj.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("company");
System.out.println("ONJ's Company");
File file = new File("onj.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("company");
System.out.println("ONJ's Company");
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("URL");
Element fstNmElmnt = (Element) fstNmElmntLst.item(0);
NodeList fstNm = fstNmElmnt.getChildNodes();
System.out.println("URL : " + ((Node) fstNm.item(0)).getNodeValue());
NodeList lstNmElmntLst = fstElmnt.getElementsByTagName("NAME");
Element lstNmElmnt = (Element) lstNmElmntLst.item(0);
NodeList lstNm = lstNmElmnt.getChildNodes();
System.out.println("NAME : "+ ((Node) lstNm.item(0)).getNodeValue());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
NodeList fstNmElmntLst = fstElmnt.getElementsByTagName("URL");
Element fstNmElmnt = (Element) fstNmElmntLst.item(0);
NodeList fstNm = fstNmElmnt.getChildNodes();
System.out.println("URL : " + ((Node) fstNm.item(0)).getNodeValue());
NodeList lstNmElmntLst = fstElmnt.getElementsByTagName("NAME");
Element lstNmElmnt = (Element) lstNmElmntLst.item(0);
NodeList lstNm = lstNmElmnt.getChildNodes();
System.out.println("NAME : "+ ((Node) lstNm.item(0)).getNodeValue());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
[onj.xml]
<?xml version="1.0" encoding="UTF-8"?>
<!-- 이클립스 ,프로젝트 루트에 파일 위치시키세요. -->
<ONJ>
<company>
<URL>www.onjprogramming.co.kr</URL>
<NAME>오엔제이프로그래밍실무학원</NAME>
</company>
<company>
<URL>www.oraclejavanew.kr</URL>
<NAME>오라클자바커뮤니티</NAME>
</company>
<company>
<URL>www.onjsystems.co.kr</URL>
<NAME>오엔제이시스템즈</NAME>
</company>
</ONJ>
<!-- 이클립스 ,프로젝트 루트에 파일 위치시키세요. -->
<ONJ>
<company>
<URL>www.onjprogramming.co.kr</URL>
<NAME>오엔제이프로그래밍실무학원</NAME>
</company>
<company>
<URL>www.oraclejavanew.kr</URL>
<NAME>오라클자바커뮤니티</NAME>
</company>
<company>
<URL>www.onjsystems.co.kr</URL>
<NAME>오엔제이시스템즈</NAME>
</company>
</ONJ>
[결과]
Root element ONJ
ONJ's Company
URL : www.onjprogramming.co.kr
NAME : 오엔제이프로그래밍실무학원
URL : www.oraclejavanew.kr
NAME : 오라클자바커뮤니티
URL : www.onjsystems.co.kr
NAME : 오엔제이시스템즈
ONJ's Company
URL : www.onjprogramming.co.kr
NAME : 오엔제이프로그래밍실무학원
URL : www.oraclejavanew.kr
NAME : 오라클자바커뮤니티
URL : www.onjsystems.co.kr
NAME : 오엔제이시스템즈
[개강임박강좌, 오프라인교육장에 오시면 보다 자세히 배울 수 있습니다.]
오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(www.onjprogramming.co.kr)
[주간]
[11/25]Spring3.X, MyBatis, Hibernate실무과정
[11/25]초보자를위한실전SQL
[11/25]안드로이드개발자과정
[11/25]iPhone 하이브리드 앱 개발 실무과정
[평일야간]
[11/22]자바초보에서안드로이드까지
[11/26]JAVA&WEB프레임워자실무과정
[11/26]iPhone하이브리드앱개발실무과정
[11/26]웹퍼블리싱 마스터
[11/27]SQL초보에서실전전문가까지
[11/28]Spring3.X, MyBatis, Hibernate실무과정
[주말]
[11/23]JAVA&WEB프레임워크실무과정
[11/23]웹퍼블리싱 마스터
[11/23]C#,ASP.NET마스터
[11/30]SQL초보에서전문가까지
[11/30]Spring3.X,MyBatis,Hibernate실무과정
오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(www.onjprogramming.co.kr)
[주간]
[11/25]Spring3.X, MyBatis, Hibernate실무과정
[11/25]초보자를위한실전SQL
[11/25]안드로이드개발자과정
[11/25]iPhone 하이브리드 앱 개발 실무과정
[평일야간]
[11/22]자바초보에서안드로이드까지
[11/26]JAVA&WEB프레임워자실무과정
[11/26]iPhone하이브리드앱개발실무과정
[11/26]웹퍼블리싱 마스터
[11/27]SQL초보에서실전전문가까지
[11/28]Spring3.X, MyBatis, Hibernate실무과정
[주말]
[11/23]JAVA&WEB프레임워크실무과정
[11/23]웹퍼블리싱 마스터
[11/23]C#,ASP.NET마스터
[11/30]SQL초보에서전문가까지
[11/30]Spring3.X,MyBatis,Hibernate실무과정
댓글 없음:
댓글 쓰기