XML parse file from HTTP XML parse file from HTTP xml xml

XML parse file from HTTP


Try using URLConnection.getInputStream() for getting the handle of XML file.

See the below code, in that I am trying to open an xml file and printing all the description fields:

import java.io.InputStream;import java.net.URL;import java.net.URLConnection;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;import org.w3c.dom.NodeList;public class HTTPXMLTest{    public static void main(String[] args)     {        try {            new HTTPXMLTest().start();        } catch (Exception e) {            e.printStackTrace();        }    }    private void start() throws Exception    {        URL url = new URL("http://localhost:8080/AutoLogin/resource/web.xml");        URLConnection connection = url.openConnection();        Document doc = parseXML(connection.getInputStream());        NodeList descNodes = doc.getElementsByTagName("description");        for(int i=0; i<descNodes.getLength();i++)        {            System.out.println(descNodes.item(i).getTextContent());        }    }    private Document parseXML(InputStream stream)    throws Exception    {        DocumentBuilderFactory objDocumentBuilderFactory = null;        DocumentBuilder objDocumentBuilder = null;        Document doc = null;        try        {            objDocumentBuilderFactory = DocumentBuilderFactory.newInstance();            objDocumentBuilder = objDocumentBuilderFactory.newDocumentBuilder();            doc = objDocumentBuilder.parse(stream);        }        catch(Exception ex)        {            throw ex;        }               return doc;    }}


Here is the simple example for getting data form this string "http://www.gettingagile.com/feed/rss2/"

public class MainClassXml {    public static void main(String args[]) throws URISyntaxException,            ClientProtocolException, IOException, MalformedURLException {        String url = "http://www.gettingagile.com/feed/rss2/";        System.out.println("Url is careated****");        URL url2 = new URL(url);        HttpGet httpGet = new HttpGet(url);        HttpClient httpClient = new DefaultHttpClient();        HttpResponse httpResponse = httpClient.execute(httpGet);        HttpEntity entity = httpResponse.getEntity();        System.out.println("Entity is*****" + entity);        try {            String xmlParseString = EntityUtils.toString(entity);            System.out.println("This Stirng to be Pasrse***" + xmlParseString);            HttpURLConnection connection = (HttpURLConnection) url2                    .openConnection();            InputStream inputStream = connection.getInputStream();            DocumentBuilderFactory builderFactory = DocumentBuilderFactory                    .newInstance();            DocumentBuilder documentBuilder = builderFactory                    .newDocumentBuilder();            Document document = documentBuilder.parse(inputStream);            document.getDocumentElement().normalize();            System.out.println("Attributes are***" + document.getAttributes());            NodeList nodeList = document.getElementsByTagName("rss");            System.out.println("This is firstnode" + nodeList);            for (int getChild = 0; getChild < nodeList.getLength(); getChild++) {                Node Listnode = nodeList.item(getChild);                System.out.println("Into the for loop"                        + Listnode.getAttributes().getLength());                Element firstnoderss = (Element) Listnode;                System.out.println("ListNodes" + Listnode.getAttributes());                System.out.println("This is node list length"                        + nodeList.getLength());                Node Subnode = nodeList.item(getChild);                System.out.println("This is list node" + Subnode);                System.out.println("rss attributes***************");            }        } catch (Exception exception) {            System.out.println("Exception is" + exception);        }    }


Get rid of the new File():

Document doc = builder.parse(url);