반응형
개요
일시적으로 XML 에서 데이터를 읽어와서 DB 를 생성하기 위한 목적으로 만든 소스 입니다.
대충 이렇게 하니 되는구나 를 보시고, 좋은 소스들은 검색해보시기 바랍니다.
본문
작업환경 : Android Studio 2.1
JDK : 1.8.0_66
테스트일자: 2016-05-01
소스 출처 : 구글에서 막 검색해서 짜깁고 짜깁다가, 결국은 한줄한줄 테스트를 거치면서 완성한 소스. ㅠㅠ 퍼온 소스들은 미묘하게 잘 안 되어서...환경의 차이인가?
xml 형태 예시
<?xml version="1.0" encoding="UTF-8"?>
<list>
<item>
<id>item 1</id>
</item>
<item>
<id>item 2</id>
</item>
<item>
<id>item 3</id>
</item>
</list>
소스 예시
public void assignData(String uri){
try{
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document xml = documentBuilder.parse(uri);
Element root = xml.getDocumentElement();
NodeList nodeList = root.getElementsByTagName("item");
if(nodeList.getLength() ==0) return;
for(int i=0; i<nodeList.getLength(); i++){
Node nodeItem = nodeList.item(i);
try {
String id = getTagValue("id",(Element)nodeItem);
System.out.println(id);
//여기서 값을 대입하시면 됩니다.
//저의 경우는 데이터용 클래스를 따로 반들어서 getter setter 로 사용하였습니다.
} catch (Exception e) {
}
}
} catch (ParserConfigurationException e){
} catch (SAXException e){
} catch (IOException e){
} catch (Exception e){
}
}
private String getTagValue(String sTag, Element element) {
try{
String result = element.getElementsByTagName(sTag).item(0).getTextContent();
return result;
} catch(NullPointerException e){
return "";
} catch(Exception e){
return "";
}
}
이렇게 해놓고 사용 시에는 assignData(주소) 이런식으로 사용하시면 됩니다. 더 손대다보면 끝이없을 것 같아서 샘플식으로 단순하게 만들어두었습니다.
반응형
'개발 > 자바 Java' 카테고리의 다른 글
[Java] JAVA - JDK - JRE - Java EE - Java ME - Java SE - Java FX (0) | 2016.06.17 |
---|---|
[JAVA] Double Float 형의 오차 (0) | 2016.06.11 |
[Java] (error) error : java.lang.UnsupportedClassVersionError (0) | 2016.06.07 |
[Java] webservlet annotation (0) | 2016.06.07 |
[Java] String 문제. StringBuffer, StringBuilder 등 (0) | 2016.04.29 |
자바 와 서블릿 (0) | 2011.07.29 |
rs.getDate 와 rs.getTimestamp() 의 차이 (0) | 2011.02.17 |
JAVA_변수 형 변환 (0) | 2011.01.31 |