[Sample Code] XML Dom Pasing

참조자료 :
http://blog.bagesoft.com/727
http://www.rudaks.co.kr/bbs/view.jsp?seq=1939&bbs=java

Why?
회사 프로젝트를 하면서 환경설정이 가독성이 안좋을꺼같다구해서 XML로 환경파일을 작성하게되었다.
XML파일은 스프링 ApplicationContext 단위에서 처음에 한번 로딩후에 사용하기로 했다.




 
  박정민
  25
  MONO-SYS
  
경기도 용인
GAME 박혜인 27 글과사람들
경기도 광주
SING package data.xml; public class Row { private String name; private int age; private String company; private String address; private String hobby; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getCompany() { return company; } public void setCompany(String company) { this.company = company; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getHobby() { return hobby; } public void setHobby(String hobby) { this.hobby = hobby; } @Override public String toString() { return "Row [address=" + address + ", age=" + age + ", company=" + company + ", hobby=" + hobby + ", name=" + name + "]"; } } package data.xml; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import java.io.File; import java.util.LinkedList; import java.util.List; public class XMLParserWithDom { public static List parse(File file) throws Exception { List _result = new LinkedList(); DocumentBuilder _docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); Document _doc = _docBuilder.parse(file); NodeList _Rowlist = _doc.getDocumentElement().getElementsByTagName("VALUE"); for (int i = 0; i < _Rowlist.getLength(); i++) { Node _Row = _Rowlist.item(i); Row _r = new Row(); if (_Row.getNodeType() == Node.ELEMENT_NODE) { NodeList _child = _Row.getChildNodes(); for (int j = 0; j < _child.getLength(); j++) { Node _ele = _child.item(j); if (_ele.getNodeType() == Node.ELEMENT_NODE) { String _name = _ele.getNodeName(); String _content = _ele.getTextContent(); if (_name.equalsIgnoreCase("NAME")) { _r.setName(_content); } else if (_name.equalsIgnoreCase("AGE")) { _r.setAge(Integer.parseInt(_content)); } else if (_name.equalsIgnoreCase("COMPANY")) { _r.setCompany(_content); } else if (_name.equalsIgnoreCase("ADDRESS")) { _r.setAddress(_content); } else if (_name.equalsIgnoreCase("HOBBY")) { _r.setHobby(_content); } else { throw new SAXException("Unexpacted Element: "+ _name); } } } } _result.add(_r); } return _result; } public static void main(String[] args) throws Exception { System.out.println(parse(new File("srcdataxmltest.xml"))); } }

18 Replies to “[Sample Code] XML Dom Pasing”

Leave a Reply

Your email address will not be published.