Pequeño problema con DOM.

Moderador: iuav

Temas relacionados: Java, JavaBeens, JBuilder, JDK, Applets, etc

Pequeño problema con DOM.

Notapor naxeteee » Mar Jun 03, 2008 11:04 am

Hola,
soy nuevo aquí, un saludo a todos/@s
Paso a explicaros mi problema:

Tengo este codigo:
Código: Seleccionar todo
  1.  

  2.     public static void GetData(String p) throws IOException

  3.     {

  4.             try

  5.             {

  6.                 p="C:\\Documents and Settings\\Nacho\\Desktop\\Workspace Eclipse\\App\\files\\Designs\\"+p+".svg";

  7.                 String xmlFile = p;

  8.                 File file = new File(xmlFile);

  9.                 if (file.exists())

  10.                 {

  11.                   DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

  12.                   DocumentBuilder builder = factory.newDocumentBuilder();

  13.                   Document doc = builder.parse(xmlFile);

  14.                   Transformer tFormer = TransformerFactory.newInstance().newTransformer();

  15.                   tFormer.setOutputProperty(OutputKeys.METHOD, "text");//Lo que busco.

  16.                   Source source = new DOMSource(doc);

  17.                   Result result = new StreamResult(System.out);

  18.                   //result.toString();

  19.                   tFormer.transform(source, result);

  20.                 }

  21.                 else{

  22.                   System.out.println("File not found!");

  23.                 }

  24.               }

  25.               catch (Exception e){

  26.                 System.err.println(e);

  27.                 System.exit(0);

  28.               }  

  29.      }



En el codigo se ve como coge un fichero existente llamado p y monta el DOM con su contenido,
entonces en esta linia:
tFormer.setOutputProperty(OutputKeys.METHOD, "text"); le indico que me busque los nodos con valor "text", hasta aquí bien,
El resultado de esta busqueda se guarda en la variable result, que esta emplea System.out para volcarlo en pantalla..

El problema es que no encuentro manera de guardar lo que me da System.out en una variable.
Si alguien ha trabajado en ello, ...o sabe cual podria ser una solucion a esto, les agradeceria respuestas.


Gracias por su tiempo.
naxeteee
Novato
Novato
 
Mensajes: 1
Registrado: Mar Jun 03, 2008 10:03 am


Re: Pequeño problema con DOM.

Notapor ivancp » Mié Jun 04, 2008 8:00 am

System.out se considera como un archivo para el flujo de salida. Por lo que será suficiente si cambias esa variable por un archivo de texto simple.

Por otro lado puedes utilizar estas lineas (que encontré por la red)

Código: Seleccionar todo
  1.     StringWriter sw = new StringWriter();

  2.     transformer.transform(new DOMSource(xml), new StreamResult(sw));

  3.     return sw.getBuffer().toString(); // retornará la cadena que contiene el resultado

  4.  



Nota: Utiliza la etiqueta/bbcode "code" para señalar codigo fuente.
Imagen @latindev | Mi Blog
Por favor lee las reglas del foro
Avatar de Usuario
ivancp
Colaborador
Colaborador
 
Mensajes: 680
Registrado: Jue Sep 06, 2007 12:58 pm



    

Volver a Java

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados