Java tutorial
//package com.java2s; import org.apache.http.HttpResponse; import org.apache.http.util.EntityUtils; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import org.xml.sax.InputSource; import java.io.StringReader; import java.util.HashMap; import java.util.Map; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; public class Main { public static Map handleXMLResponse(HttpResponse response) { Map<String, String> oauthResponse = new HashMap<String, String>(); try { String xmlString = EntityUtils.toString(response.getEntity()); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder db = factory.newDocumentBuilder(); InputSource inStream = new InputSource(); inStream.setCharacterStream(new StringReader(xmlString)); Document doc = db.parse(inStream); System.out.println("********** XML Response Received **********"); parseXMLDoc(null, doc, oauthResponse); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("Exception occurred while parsing XML response"); } return oauthResponse; } public static void parseXMLDoc(Element element, Document doc, Map<String, String> oauthResponse) { NodeList child = null; if (element == null) { child = doc.getChildNodes(); } else { child = element.getChildNodes(); } for (int j = 0; j < child.getLength(); j++) { if (child.item(j).getNodeType() == org.w3c.dom.Node.ELEMENT_NODE) { Element childElement = (Element) child.item(j); if (childElement.hasChildNodes()) { System.out.println(childElement.getTagName() + " : " + childElement.getTextContent()); oauthResponse.put(childElement.getTagName(), childElement.getTextContent()); parseXMLDoc(childElement, null, oauthResponse); } } } } }