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

Escribir archivo XML desde JAVA

Estas en el tema de Escribir archivo XML desde JAVA en el foro de Java en Foros del Web. Hola, estoy tratando de escribir un archivo XML en base a una informacion que recibo a traves de un POST (desde una pagina WEB por ...
  #1 (permalink)  
Antiguo 14/05/2004, 09:15
 
Fecha de Ingreso: mayo-2004
Mensajes: 95
Antigüedad: 20 años, 6 meses
Puntos: 0
Escribir archivo XML desde JAVA

Hola, estoy tratando de escribir un archivo XML en base a una informacion que recibo a traves de un POST (desde una pagina WEB por ahora), el problema es que en ves de escribirme el archivo, me da un error de despliegue:

The XML page cannot be displayed
Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later.


--------------------------------------------------------------------------------

XML document must have a top level element. Error processing resource 'http://localhost:8080/XMLSender/xmlsend'.


No se por que, porque en ningun momento le estoy mandando a desplegarlo, en fin, publico mi codigo a ver si alguien me puede ayudar:

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;


public class xmlsender extends HttpServlet

{
public void service(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException

{
ServletOutputStream salida = res.getOutputStream();
res.setContentType("text/xml");
String cadenanumero = req.getParameter("numero");
String cadenaoperadora = req.getParameter("operadora");
String cadenabody = req.getParameter("mensaje");
String cadenashortcode = req.getParameter("shortcode");
File f1 = new File("salida.xml");
FileWriter writer = new FileWriter(f1);
writer.write("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
writer.write("<root>");
writer.write("<tlf>" + cadenanumero + "</tlf>");
writer.write("<op>" + cadenaoperadora + "</op>");
writer.write("<sc>" + cadenashortcode + "</sc>");
writer.write("<body>" + cadenabody + "</body>");
writer.write("</root>");
writer.close();

}
}
  #2 (permalink)  
Antiguo 14/05/2004, 14:15
DAD
 
Fecha de Ingreso: abril-2004
Mensajes: 15
Antigüedad: 20 años, 6 meses
Puntos: 0
Hola, yo no tengo mucha experiancia en esto, a decir verdad estoy recien empezando, pero justamente hoy tube que hacer algo parecido, aca cambie un poco tu codigo, y lo hice como lo hago yo (que me funciona) para crear el archivo XML.

Te recomiendo, que despues de que lo crees, lo habras y es mas facil, le dejas la tarea de la apertura al browser, que lo hace automaticamente. Para esto, hace un forward comun al archivo que acabaste de crear.

Espero que te sirva, contame como te fue, y si no lo vemos de nuevo hasta que salga, que te parece?

El codigo no lo probe, ni lo compile, pero asi anda el mio.
El error de despliegue que te da, me parece que es porque no esta jerarquizado el xml que estabas creando.... pero no estoy seguro, esto agarralo con pinzas.....chau

Saludos........


import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;


public class xmlsender extends HttpServlet

{
public void POST(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException

{
StringBuffer StrXML = new StringBuffer();

String cadenanumero = req.getParameter("numero");
String cadenaoperadora = req.getParameter("operadora");
String cadenabody = req.getParameter("mensaje");
String cadenashortcode = req.getParameter("shortcode");


PrintStream xml = new PrintStream("salida.xml");
StrXML.append("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n");

StrXML.append("<root>\n");

StrXML.append("\t<tlf>");
StrXML.append(cadenanumero);
StrXML.append("</tlf>\n");

StrXML.append("\t<op>");
StrXML.append(cadenaoperadora);
StrXML.append("</op>\n");

StrXML.append("\t<sr>");
StrXML.append(cadenashortcode);
StrXML.append("</sr>\n");

StrXML.append("\t<boby>");
StrXML.append(cadenabody);
StrXML.append("</boby>\n");

StrXML.append("</root>");

xml.println(StrXML.toString());


}
}
__________________
:pensando: ~ Daniel ~ :pensando:
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 13:41.