Parsear un Xml directamente de internet.

carlos
17 de Abril del 2003
Hola, me gustaría parsear un Xml directamente de internet; esta funcion parsea un Xml local correctamente,
pero cuando le pasas una URL me da la siguiente excepción:

java.io.FileNotFoundException: http:weather.interceptvector.comcitiesALG.xml
(El nombre de archivo, directorio o etiqueta del volumen no es vßlido)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:64)
at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:69)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:133)
at java.net.URL.openStream(URL.java:798)
at webcoauna.jdomparser.JDomXml.iniXml(JDomXml.java:122)
at webcoauna.jdomparser.JDomXml.cambiaParametrosYLanza(JDomXml.java:99)
at webcoauna.tiempo.ElTiempoXml.buscaCiudad(ElTiempoXml.java:129)
at webcoauna.tiempo.ElTiempoXml.<init>(ElTiempoXml.java:69)
at jsp_servlet._wc.__gneltiempo._jspService(__gneltiempo.java:117)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:304)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2456)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2039)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)


Alguien me puede ayudar porfavor, como puedo parsear directamente un xml de una url? sin bajarlo:

String ficheroXml = "http://weather.intercetvector.com/cities/ALG.xml"

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
if (ficheroXml.indexOf("http://") == -1)
{
document = builder.parse( new File(ficheroXml) );
} else // es fichero externo
{
URL url = new URL(ficheroXml);
InputStream is =url.openStream();
document = builder.parse(is);
}


Gracias