728x90

1. post방식으로 url에 접속하여 결과 xml을 가져옴

public static String connectXML(String DocID){

URL url = null;

StringBuffer resp = new StringBuffer();

try {

url = new URL("http://어쩌구 저쩌구");

HttpURLConnection con = (HttpURLConnection) url.openConnection();

con.setRequestProperty("Content-Type","application/x-www-form-urlencoded");

con.setDoOutput(true);

con.setDoInput(true);

con.setUseCaches(false);

con.setRequestMethod("POST");

StringBuffer sb = new StringBuffer();

sb.append("DocID="+DocID); //데이터 담는곳

PrintWriter pw = new PrintWriter(new OutputStreamWriter(con.getOutputStream(),"utf-8"));

pw.write(sb.toString());

pw.flush();

int resCode = 0; // RMS와의 연결 응답값

resCode = con.getResponseCode(); //연결됨

if(resCode < 400){ // 연결이 성공적일때

getLog("연결 성공");

String line = "";

BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(),"utf-8"));

while((line=br.readLine())!=null){

resp.append(changeChar(line)); //changeChar메소드:특수문자로 들어온문자를 변환하는 메소드

}

pw.close();

br.close();

}else{

getLog("연결 실패:"+resCode);

}


} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return resp.toString(); //결과 xml을 string으로 변환

}



2. String으로 받은 XML 문서를 파싱

public static void changeXML(String str,CardDetails cd){

try {

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance ( ) ;

DocumentBuilder db = dbf.newDocumentBuilder ( ) ;

InputSource inputsource = new InputSource(new StringReader(str));

Document doc = db.parse(inputsource);

//ROOT노드 구하기

Element root = doc.getDocumentElement();

System.out.println("ROOT : "+root.getNodeName());

NodeList list = XPathAPI.selectNodeList(root.getFirstChild(),"/(루트노드)/(하위노드1)/(하위노드2)"); //가져올 노드

for(int i=0;i<list.getLength();i++){

Node n = list.item(i);

System.out.println(n.getNodeName()); //하위노드2 노드안의 서브 노드 가져와서 출력

System.out.println(n.getFirstChild().getNodeVal!ue()); //하위노드2 노드안의 서브 노드의 값을 가져와서 출력

}

}catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

getLog("(changeXML)Exception:"+e.getMessage());

}

}

728x90

'JAVA' 카테고리의 다른 글

InstallFactory - exe파일로 셋업파일 생성  (0) 2012.07.29
jsmooth - jar파일로 exe파일 생성  (0) 2012.07.29
refresh 후 데이터 재전송 문제  (0) 2012.07.29
IBATIS 연산요소  (0) 2012.07.29
jstl 문자열 자르기  (0) 2012.07.29

+ Recent posts