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

Formatear fichero XML

Estas en el tema de Formatear fichero XML en el foro de Java en Foros del Web. Hola a todos, Estoy creando ficheros XML utilizando: DocumentBuilderFactory documentBuilderFactorySalida = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilderSalida = documentBuilderFactorySalida.newDocumentBuilder(); Document documentSalida = documentBuilderSalida.newDocument(); Element rootElementSalida = documentSalida.createElement("Libros"); .... ...
  #1 (permalink)  
Antiguo 05/06/2012, 02:04
 
Fecha de Ingreso: junio-2008
Mensajes: 3
Antigüedad: 15 años, 10 meses
Puntos: 0
Formatear fichero XML

Hola a todos,

Estoy creando ficheros XML utilizando:

DocumentBuilderFactory documentBuilderFactorySalida = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilderSalida = documentBuilderFactorySalida.newDocumentBuilder();

Document documentSalida = documentBuilderSalida.newDocument();
Element rootElementSalida = documentSalida.createElement("Libros");


.... //Aqui creo los elementos

Y genero el fichero XML de la siguiente forma:

DOMSource sourceSalida = new DOMSource(documentSalida);
StreamResult resultSalida = new StreamResult(rutaSalida);
Transformer transformerSalida = TransformerFactory.newInstance().newTransformer();
transformerSalida.transform(sourceSalida, resultSalida);

El problema es que el resultado lo escribe en una única línea.
Hay alguna forma de que formatee el fichero XML? Es decir, que introduzca los saltos de línea automáticamente?

Gracias de antemano

Un saludo

Iñaki Prieto
  #2 (permalink)  
Antiguo 05/06/2012, 02:20
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Formatear fichero XML

Cita:
TransformerFactory tf = TransformerFactory.newInstance();
Transformer t = tf.newTransformer();
t.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
t.setOutputProperty(OutputKeys.INDENT, "yes");
t.transform(source, result);
En java 6 llegaba con OutputKeys.INDENT, en el 7 creo que necesitas el ident-amount, no lo he comprobado.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 05/06/2012, 02:24
 
Fecha de Ingreso: junio-2008
Mensajes: 3
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Formatear fichero XML

Funciona perfectamente!

Gracias!

Etiquetas: fichero, formatear, xml
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 23:01.