Jdom

Hola,
Estoy trabajando con Jdom. Tengo el siguiente problema: obtengo un xml de un fichero, lo convierto en un objeto Document y lo trato correctamente. El problema viene cuando, después de todo esto, intento mandar el xml a través de una petición http: necesito pasar de Document a algún tipo de InputStream (para ponerlo en la request), y no hay manera de hacer esta conversión... Alguna sigerencia ¿?
Gracias,
rodgalan

3 respuestas

Respuesta
1
Revisa la clase XMLOutputter en el paquete org. Jdom. Output. La misma tiene un método output que recibe el Document y un OutputStream. Luego puedes usar un java. Io. PipedInputStream para leerlo.
Respuesta
1
Da lo mismo el tipo de documento que quieras pasar, lo que tienes es que abrir un inputStream o un outputStream y pasar el objeto, con los métodos de la clase del Stream.
Respuesta
¿Pero quieres el xml original, el modificado o el objeto Document?
en la Api :
http://www.jdom.org/docs/apidocs/
El objeto Document implementa el interfaz Serializable, por lo que en teoría deberías de poder guardarlo en la request directamente sin problemas.
Si lo que quieres es la representación del xml, en la api lo dice :
http://www.jdom.org/docs/apidocs/org/jdom/Document.html#toString()
http://www.jdom.org/docs/apidocs/org/jdom/output/XMLOutputter.html#outputString(org.jdom.Document)
Gracias,
Ya lo tengo resuelto. El método toString no devuelve la representación del XML, solo la referencia del objeto (clase-id). La manera de resolverlo era mediante XMLOutputter que te permite meter el contenido xml en un stream.
Además, lo que devia mandar por la request no era el objeto Document, sino una representación en base 64 del xml (a través del API httpclient).
Gracias de todas formas,
rodgalan

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas