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

Java y XML

Estas en el tema de Java y XML en el foro de Java en Foros del Web. Hola a todos! Tengo un problema que no logro resolver: Tengo un archivo xml que parseo con Xalan+Xerces. Sobre el arbol generado tengo que buscar ...
  #1 (permalink)  
Antiguo 27/01/2009, 11:17
 
Fecha de Ingreso: enero-2009
Mensajes: 19
Antigüedad: 15 años, 3 meses
Puntos: 1
Java y XML

Hola a todos! Tengo un problema que no logro resolver:

Tengo un archivo xml que parseo con Xalan+Xerces. Sobre el arbol generado tengo que buscar un nodo con un XPath, y el nodo encotrado modificarle el valor de su atributo. Una vez hecho esto tengo q volver a volcar el arbol modificado en un fichero xml.

Mi problema es que no se como modificar el nodo y que el cambio quede guardado en el arbol.

Aqui pongo un pongo de codigo orientativo:

Document doc = getDocument(url);
// metodo que parse el archivo de la variable url
XPathAPI xp= new XPathAPI();
Node n=xp.selectSingleNode(doc, xpath);
n.setNodeValue("hola");

¿Ahora como hago para que el cambio se realice en el arbol? Xq de esta manera solo consigo cambiar el nodo. No sustituir el del arbol parseado.

Muchas Gracias!
  #2 (permalink)  
Antiguo 27/01/2009, 16:15
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Java y XML

Si te refieres al fichero, tienes que escribir el fichero XML.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 28/01/2009, 04:56
 
Fecha de Ingreso: enero-2009
Mensajes: 19
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Java y XML

Chuidiang, gracias por tu respuesta pero no es lo que buscaba. Se como escribir el arbol parseado en un xml, lo que no se es como modificar el nodo que busco con un xpath. Con:

Node n=xp.selectSingleNode(doc, xpath);

Busco el nodo. Ahora modifico su valor:
n.setNodeValue("hola");

Pero esta modificacion solo se realiza sobre ese nodo, no sobre el arbol.Yo quiero que la modificacion se realice sobre el arbol, es decir, que al modificar el valor del nodo, este cambio quede guardado en el arbol.

Ej, Busco un nodo que tenga el xpath: /Mpeg7/Item. Luego quiero cambiar el valor del atributo de ese nodo, guardar los cambios en el arbol y escribirlo en un xml. Y lo que no se es guardarlo otra vez en el arbol, o que los cambios se reflejen en el arbol.
  #4 (permalink)  
Antiguo 28/01/2009, 05:10
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Java y XML

¿Que significa "que los cambios se reflejen en el arbol"?

Hay dos elementos que estas tratando: El Document y el fichero. Si obtienes un nodo del documento y lo modificas... el Document está modificado, así que sólo queda reflejar los cambios en el fichero... que es precisamente lo que Chuidiang decía.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #5 (permalink)  
Antiguo 28/01/2009, 05:37
 
Fecha de Ingreso: enero-2009
Mensajes: 19
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Java y XML

GreenEyed, gracias. No debí fijarme bien en que el documento xml generado estaban los cambios bien realizados. Entonces dude que si cambiabas un nodo tambien se cambiara el Document. Gracias a los dos!!Ya esta todo resulto
  #6 (permalink)  
Antiguo 28/01/2009, 07:41
 
Fecha de Ingreso: enero-2009
Mensajes: 6
Antigüedad: 15 años, 3 meses
Puntos: 1
De acuerdo Respuesta: Java y XML

Tengo unos buenos tutoriales para que no te pierdas de nada en programacion con java y jsp

entra a mi pagina y descarga los tutoriales :

http://es.geocities.com/gds_system/Tutoriales.htm
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 00:13.