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

Lectura de XML desde un JSP

Estas en el tema de Lectura de XML desde un JSP en el foro de Programación General en Foros del Web. Buenas a todos, necesito ayuda con la lectura de un xml desde un archivo jsp para pintarlo en mi web. El esquema seria algo así: ...
  #1 (permalink)  
Antiguo 15/01/2009, 05:12
 
Fecha de Ingreso: noviembre-2007
Mensajes: 81
Antigüedad: 16 años, 5 meses
Puntos: 0
Pregunta Lectura de XML desde un JSP

Buenas a todos, necesito ayuda con la lectura de un xml desde un archivo jsp para pintarlo en mi web.

El esquema seria algo así:

<?xml version="1.0" ?>
- <query numrows="2" queryname="HRS_JOB_OPENING" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="">
- <row rownumber="1">
<HRS_JOB_OPENING_ID>622066281472462</HRS_JOB_OPENING_ID>
<JOB_DESCR>JOB_DESCR sample</JOB_DESCR>
<OFFER_DESCR>OFFER_DESCR sample</OFFER_DESCR>
<OPEN_DT>2006-08-04</OPEN_DT>
<BUSSINES_UNIT>BUS_UNIT sample</BUSSINES_UNIT>
<BU_DESCR>BU_DESCR sample</BU_DESCR>
<BUSSINES_UNIT>BUS_UNIT sample</BUSSINES_UNIT>
<BU_DESCR>BU_DESCR sample</BU_DESCR>
<COMPANY>COMPANY sample</COMPANY>
<CMPY_DESCR>CMPY_DESCR sample</CMPY_DESCR>
<LOC_DESCR>LOC_DESCR sample</LOC_DESCR>
</row>
- <row rownumber="2">
<HRS_JOB_OPENING_ID>622066281472463</HRS_JOB_OPENING_ID>
<JOB_DESCR>JOB_DESCR sample</JOB_DESCR>
<OFFER_DESCR>OFFER_DESCR sample</OFFER_DESCR>
<OPEN_DT>2006-08-04</OPEN_DT>
<BUSSINES_UNIT>BUS_UNIT sample</BUSSINES_UNIT>
<BU_DESCR>BU_DESCR sample</BU_DESCR>
<BUSSINES_UNIT>BUS_UNIT sample</BUSSINES_UNIT>
<BU_DESCR>BU_DESCR sample</BU_DESCR>
<COMPANY>COMPANY sample</COMPANY>
<CMPY_DESCR>CMPY_DESCR sample</CMPY_DESCR>
<LOC_DESCR>LOC_DESCR sample</LOC_DESCR>
</row>
</query>

El resultado seraia algo asi:

HRS_JOB_OPENING_ID: 622066281472462
JOB_DESCR: JOB_DESCR sample
OFFER_DESCR: OFFER_DESCR sample
OPEN_DT: 2006-08-04
BUSSINES_UNIT: BUS_UNIT sample
BU_DESCR: BU_DESCR sample
BUSSINES_UNIT: BUS_UNIT sample
BU_DESCR: BU_DESCR sample
COMPANY: COMPANY sample
CMPY_DESCR: CMPY_DESCR sample
LOC_DESCR: LOC_DESCR sample

donde el texto de delante de : serían titulos asignados por mi y lo que hay detras serían los valores de xml.

Gracias de antemano por cualquier tipo de ayuda que me podais ofrecer.
  #2 (permalink)  
Antiguo 20/01/2009, 03:08
 
Fecha de Ingreso: noviembre-2007
Mensajes: 81
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Lectura de XML desde un JSP

bueno, ya he conseguido hacer que lea el xml pero lo que no consigo es obtener el parámetro numrows="2" de la etiqueta query, hay alguna funcion para ello ???

el código, por si alguien lo necesita sería:

Cita:
SAXReader reader = new SAXReader();
Document document = reader.read(direccion);

// esta linea debe tomar el valor del numrows="2"
int contador = 1;

while ( contador <= 2 ) {

// Descripcion corta (titulo)
String jobDescr = document.selectSingleNode("//query/row[" + contador + "]/JOB_DESCR").getText();
// Descripcion larga
String offerDescr = document.selectSingleNode("//query/row[" + contador + "]/OFFER_DESCR").getText();
// Fecha de publicacion
String openDt = document.selectSingleNode("//query/row[" + contador + "]/OPEN_DT").getText();
// Grupo de negocio
String bussinesUnit = document.selectSingleNode("//query/row[" + contador + "]/BUSSINES_UNIT[1]").getText();
// Sociedad dentro del gn
String company = document.selectSingleNode("//query/row[" + contador + "]/COMPANY").getText();
// Centro de trabajo
String locDescr = document.selectSingleNode("//query/row[" + contador + "]/LOC_DESCR").getText();

out.println("<div class='oculta_oferta' onclick=\"this.className='muestra_oferta';\" ondblclick=\"this.className='oculta_oferta';\">");
out.println("<p class='fecha_oferta'>" + openDt + "</p>");
out.println("<p class='titulo_oferta'>" + jobDescr + "</p>");
out.println("<p class='compañia_oferta'>" + locDescr + " (" + company + ")</p>");
out.println("<div class='oferta'>" + offerDescr + "</div>");
out.println("</div>");
contador++;
}
no lo he dicho nates pero supongo que viendo el codigo..... todo esto va montado en jsp.

Un saludo
  #3 (permalink)  
Antiguo 21/01/2009, 07:47
 
Fecha de Ingreso: noviembre-2007
Mensajes: 81
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Lectura de XML desde un JSP

al final he conseguido leer bien los parámetros, solo habia que cambiar las lineas

// esta linea debe tomar el valor del numrows="2"
int contador = 1;
while ( contador <= 2 ) {

por estas otras

int elem = Integer.parseInt((String) document.getRootElement().attributeValue("numrows" ));
int contador = 1;
while ( contador <= elem ) {

pero ahora he encontrado otro problema.

El xml no lo genero yo sino que me lo envían ya generado y si alguno de los textos entre etiquetas tiene caracteres con tildes o cualquier otro caracter especial, al no tener encoding definido, me da un error de lectura.

Habría alguna forma de, sin tener que modificar dicho xml, establecerle una codificacion por el código java ???
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 05:57.