091_解析Callout XML 处理方式
XML:
<?xml version="1.0" encoding="iso-8859-1" ?> <results> <result> <ip>111.93.167.67</ip> <host /> <isp>Tata Teleservices ISP</isp> <org>Tata Teleservices ISP</org> <region>Calcutta</region> <countrycode>IN</countrycode> <latitude>22.569700241089</latitude> <longitude>88.369697570801</longitude> <queries>2</queries> </result> </results>
APEX:
public class OrgInfo_XmlStreamReader { public String org{get;set;} public List<String> XMLData{get;set;} public OrgInfo_XmlStreamReader(){ XMLData=new List<String>(); } public List<String> getOrganisationInfo(String ip){ Http http = new Http(); HttpRequest req = new HttpRequest(); req.setEndpoint('http://xml.utrace.de/?query='+ip); req.setMethod('GET'); HttpResponse res = http.send(req); // Log the XML content String xmlContent=res.getBody(); System.debug(res.getBody()); System.debug('#####XmlStreamReader ##11##'); // Generate the HTTP response as an XML stream XmlStreamReader reader = res.getXmlStreamReader(); System.debug('##########XML DATA##########'+res.getXmlStreamReader()); XMLData=XMLParser(res.getBody()); return XMLData; } public List<String> XMLParser(String strXml){ System.debug('####Inside XMLParser Method########'+strXml); List<String> orgInfo=new List<String>(); Dom.Document doc = new Dom.Document(); doc.load(strXml); //Retrieve the root element for this document. Dom.XMLNode Envelope = doc.getRootElement(); Dom.XMLNode Body= Envelope.getChildElements()[0]; string user_createResult = ''; for(Dom.XMLNode child : Body.getChildElements()) { orgInfo.add(child .getText()); } return orgInfo; } }
此刻,静下心来学习