091_ Callout XML parsing approach

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;

	}

}

  

Guess you like

Origin www.cnblogs.com/bandariFang/p/12214997.html