Leer un xml en una aplicacion Web
Que tal,
Sucede que estoy haciendo un aplicaci贸n en WebSphere en la que debo leer un archivo de configuraci贸n XML Ya hice mis clases que lo leen, pero esto en una aplicaci贸n Stand Alone utilizando para ello la instruccion:
doc = db.parse(new File(nombreArchivo));
en donde doc es un Document, db es un DocumentBuilder y nombreArchivo es el nombre del XML, pero el XML estaba en la misma ruta de la clase y asi funciona muy bien, pero esto montado en una aplicacion Enterprise que va a ser utilizado por un EJB y paso el XML a otra ruta, no me funciona, ya que cuando ejecuto la JSP que ejecuta el Action (Struts) que tiene la llamada a mi clase que lee el XML siempre me dice que no encuentra el archivo. Ya intente poner el XML en una ruta bajo el WebContent y mandarlo llamar con la URI, pero sigue sin poder encontrarlo. Alguien me decia que no debo usar un File porque eso busca el archivo en una ruta fisica y no relativa, pero no sabia como deber铆a hacerlo.
Espero alguien me pueda decir como hacer esto. Gracias
Sucede que estoy haciendo un aplicaci贸n en WebSphere en la que debo leer un archivo de configuraci贸n XML Ya hice mis clases que lo leen, pero esto en una aplicaci贸n Stand Alone utilizando para ello la instruccion:
doc = db.parse(new File(nombreArchivo));
en donde doc es un Document, db es un DocumentBuilder y nombreArchivo es el nombre del XML, pero el XML estaba en la misma ruta de la clase y asi funciona muy bien, pero esto montado en una aplicacion Enterprise que va a ser utilizado por un EJB y paso el XML a otra ruta, no me funciona, ya que cuando ejecuto la JSP que ejecuta el Action (Struts) que tiene la llamada a mi clase que lee el XML siempre me dice que no encuentra el archivo. Ya intente poner el XML en una ruta bajo el WebContent y mandarlo llamar con la URI, pero sigue sin poder encontrarlo. Alguien me decia que no debo usar un File porque eso busca el archivo en una ruta fisica y no relativa, pero no sabia como deber铆a hacerlo.
Espero alguien me pueda decir como hacer esto. Gracias
Si mira para poder abrir un archivo A la clase File le tienes que pasar la ruta fisica esto lo puedes obtener con lo siguiente
ServletContext ctx=req.getSession().getServletContext();
String path= ctx.getRealPath("/reports/dailyfile/files/");
String fileName="miarchivo.xml"
String file=path + fileName;
Para las lineas anteriores miarchivo.xml esta en la siguiente RUTA:
/home/tomcat/misapps/miApplication/WebContent//reports/dailyfile/files/miarchivo.xml
Y asi de facil puedes acceder a tu XML
Saludos!!!!
ServletContext ctx=req.getSession().getServletContext();
String path= ctx.getRealPath("/reports/dailyfile/files/");
String fileName="miarchivo.xml"
String file=path + fileName;
Para las lineas anteriores miarchivo.xml esta en la siguiente RUTA:
/home/tomcat/misapps/miApplication/WebContent//reports/dailyfile/files/miarchivo.xml
Y asi de facil puedes acceder a tu XML
Saludos!!!!