Foros del Web » Programación para mayores de 30 ;) » Java »

Error: Malformed URL Exception

Estas en el tema de Error: Malformed URL Exception en el foro de Java en Foros del Web. Hola, estoy tratando de modificar un metodo de un programa hecho en JAVA 6.3 y me da el error Malformed URL Exception. El codigo que ...
  #1 (permalink)  
Antiguo 14/06/2012, 09:22
 
Fecha de Ingreso: mayo-2011
Mensajes: 102
Antigüedad: 13 años
Puntos: 0
De acuerdo Error: Malformed URL Exception

Hola, estoy tratando de modificar un metodo de un programa hecho en JAVA 6.3 y me da el error Malformed URL Exception.

El codigo que estoy usando es el siguiente.
Código Javascript:
Ver original
  1. DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  2.         try{
  3.             DocumentBuilder builder = factory.newDocumentBuilder();
  4.             DOMImplementation implementation = builder.getDOMImplementation();
  5.             Document document=implementation.createDocument(null, "xml", null);
  6.            //  Document document=implementation.;
  7.             Element raiz = document.createElement("Correos");// creamos el elemento raiz
  8.             Element elemento = document.createElement("Correo");//creamos un nuevo elemento
  9.             Text text = document.createTextNode("[email protected]");//Ingresamos la info
  10.  
  11.             document.setXmlVersion("1.0");// asignamos la version de nuestro XML
  12.             document.getDocumentElement().appendChild(raiz);  //pegamos la raiz al documento
  13.             raiz.appendChild(elemento); //pegamos el elemento hijo a la raiz
  14.             elemento.appendChild(text); //
  15.  
  16.             Source source = new DOMSource(document);
  17.            
  18.             String datos="";
  19.            
  20.             Result console= new StreamResult(System.out);
  21.             Result result = new StreamResult(new java.io.File("resultado.xml"));//nombre del archivo
  22.             Transformer transformer = TransformerFactory.newInstance().newTransformer();
  23.             transformer.transform(source, result);
  24.             transformer.transform(source, console);
  25.             //transformer.t
  26.            // DocumentBuilder db = new DocumentBuilder();
  27.             DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
  28.             DocumentBuilder db =  dbf.newDocumentBuilder();
  29.                        
  30.             //db.parse(datos) ;
  31.             String xmlX =("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<xml>\n<Correos>\n<Correo>[email protected]</Correo>\n</Correos>\n</xml>");
  32.             db.parse(xmlX);
  33.                     //document;
  34.         }catch(Exception e){
  35.             System.err.println("Error:" +e);
  36.         }

Como veran en la linea 31 estoy cableando y pasando directamente el xml mediante un string.

El xml que estoy probando lo probe en varios navegadores y no me dice que este mal formado, probe con y sin \n y me da error igual.


Basicamente lo que necesito hacer es crear una variable del tipo "Document" que es lo que retorna el metodo que quiero modificar.

En el metodo original, no en el codigo de arriba codigo, ese codigo es otro proyecto que estoy usando para debugear, algo mucho mas grande, hay un metodo que devuelve un Document mediante

Metodo original(esta adentro de try catch)

Código Javascript:
Ver original
  1. DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
  2. DocumentBuilder db = dbf.newDocumentBuilder();
  3. InputStream input = HTMLTools.inputStream_GET(url, timeoutMS);
  4. InputStreamReader reader = new InputStreamReader(input, ENCODING_UTF8);
  5. InputSource inSrc = new InputSource(reader);
  6. inSrc.setEncoding(ENCODING_UTF8);
  7.  
  8. return db.parse(inSrc);


Yo necesito pasarle un XML que yo creo localmente a la variable db; el XML ya lo logro obtener pero no comprendo porque no me lo acepta ni entiendo cual es la funcion del metodo parse de la variable db, se que obtiene un Document, pero hasta ahí no mas.

¿Alguien me podría aclarar por favor que es lo que estoy haciendo mal?

Gracias.
  #2 (permalink)  
Antiguo 14/06/2012, 13:04
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Error: Malformed URL Exception

http://docs.oracle.com/javase/6/docs...a.lang.String)

Si le echas un vistazo a la API, verás que el parse que intentas utilizar es para pasarle una URI, no el xml

Puedes hacerlo leyendo el xml de un fichero (como File) o convirtiendo tu String en un InputStream
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 14/06/2012, 13:30
 
Fecha de Ingreso: mayo-2011
Mensajes: 102
Antigüedad: 13 años
Puntos: 0
Respuesta: Error: Malformed URL Exception

Gracias, justo acabo de resolverlo.

Código Javascript:
Ver original
  1. String xml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<xml>\n<Correos>\n<Correo>[email protected]</Correo>\n</Correos>\n</xml>";
  2.              DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();//XML Test2
  3.              DocumentBuilder db = factory.newDocumentBuilder();//XML Test2
  4.              document = db.parse(new InputSource(new StringReader(xml)));//XML Test2


Una pregunta mas, ¿Sabes si los "\n" son necesarios en el XML o puedo escribir todo el XML en una sola linea?

Bueno, ahora me tengo que dedicar a armar el XML completo, que es bastante largo.


Saludos.

Etiquetas: exception, programa, string, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:27.