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 ) {
Dom.Document doc = new Dom.Document();
doc = resp.getBodyDocument();
Dom.XmlNode root = doc.getRootElement();
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 반환
Dom.XmlNode result = root.getChildElement('result' , null );
Dom.XmlNodeList items = result.getChildElements('items' , null );
for (Dom.XmlNode item : items) {
String title = item.getChildElement('title' , null ).getText();
System.debug('Title: ' + title);
}
공유하기
URL 복사 카카오톡 공유 페이스북 공유 엑스 공유