1. Response에서 DOM 개체 가져오기
Dom.Document doc = resp.getBodyDocument();
2. Dom에서 Root Element 가져오기
Dom.XmlNode rootNode = doc.getRootElement();
3. RootElement에서 depth에 따라 값 가져오기
Dom.XmlNode result = rootNode.getChildElement (’result’, null);
Dom.xmlNode items = result.getChildElement ('items',null);
4. 주요 메서드
getBodyDocument()
getRootElement()
getChildElement()
getText()
5. 구조 확인
6. 값 추출하기
public class XMLParserExample {
public static void parseXML(String xmlContent) {
// XML 문자열을 Dom.Document로 파싱
Dom.Document doc = new Dom.Document();
//응답 값에서 dom 가져오기
doc = resp.getBodyDocument();
// root 엘리먼트 가져오기
Dom.XmlNode root = doc.getRootElement();
// paramdata 엘리먼트에서 데이터 추출
Dom.XmlNode paramdata = root.getChildElement('paramdata', null);
String pyymm = paramdata.getChildElement('pyymm', null).getText();
String totalcount = paramdata.getChildElement('totalcount', null).getText();
String pagecount = paramdata.getChildElement('pagecount', null).getText();
String pagenumber = paramdata.getChildElement('pagenumber', null).getText();
String pyear = paramdata.getChildElement('pyear', null).getText();
String pmonth = paramdata.getChildElement('pmonth', null).getText();
String sort = paramdata.getChildElement('sort', null).getText();
String order = paramdata.getChildElement('order', null).getText();
}
}
7. 리스트에서 값 추출하기
getChildElement() 가 아닌 getChildElements () 활용
getChildElement() 는 Dom.XmlNode 반환
getChildElements () 는 Dom.XmlNodeList 반환
// result 엘리먼트에서 items 가져오기
Dom.XmlNode result = root.getChildElement('result', null);
Dom.XmlNodeList items = result.getChildElements('items', null);
// 각 item에 대한 정보 추출
for (Dom.XmlNode item : items) {
String title = item.getChildElement('title', null).getText();
// 나머지 필요한 데이터들도 비슷한 방식으로 추출
// 데이터를 가지고 무엇인가를 할 수 있습니다.
System.debug('Title: ' + title);
}