Web Spring 전정프
java 자바 API xml 파싱 parsing 하는 방법
zeuz
2020. 12. 18. 13:41
반응형
String url ="요청 url";
try {
DocumentBuilderFactory dbFactoty = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactoty.newDocumentBuilder();
Document doc = dBuilder.parse(url);
Map<String,String> result = getNodeItems(doc.getElementsByTagName("필요한 값들의 부모노드명"));
} catch (Exception e) {
e.printStackTrace();
}
public Map<String,String> getNodeItems(NodeList nList){
Map<String,String> returnMap = new HashMap<String,String>();
for(int i=0; i<nList.getLength(); i++){
NodeList cNList = nList.item(i).getChildNodes();
for(int j = 0;j<cNList.getLength(); j++){
NodeList cCNList = cNList.item(j).getChildNodes();
if(cCNList != null && cCNList.item(0) != null && cCNList.item(0).hasChildNodes() ){
//자식노드가 있을경우
for(int k = 0; k<cCNList.getLength(); k++){
System.out.println(cCNList.item(k).getNodeName() +":"+ cCNList.item(k).getTextContent());
returnMap.put(cCNList.item(k).getNodeName(), cCNList.item(k).getTextContent());
}
}else{
//자식노드가 없을경우
System.out.println(cNList.item(j).getNodeName() +":"+ cNList.item(j).getTextContent());
returnMap.put(cNList.item(j).getNodeName(), cNList.item(j).getTextContent());
}
}
}
return returnMap;
}
반응형