2010-11-29 10 views
7

El método scala.xml.XML.write admite la salida de una secuencia de nodo XML a java.io.Writer, por ejemplo, en una respuesta de servlet. Sin embargo, no parece tener una opción para dar salida al XML en formato bastante impreso. ¿Hay alguna función de biblioteca estándar de Scala para imprimir bastante una secuencia de nodo XML a java.io.Writer?Método Scala para imprimir bastante XML directamente a un java.io.Writer (no una cadena)?

Nota: Scala.xml.PrettyPrinter no parece ser la respuesta porque solo devuelve una cadena. La linda impresora necesitaría una salida directamente a java.io.Writer.

+0

¡Una buena pregunta! – soc

+0

No hay tal formato: bonito impreso XML; y no podría haber una genérica impresión bonita. La impresión bonita depende completamente del destino al que se imprime (y la forma en que las pestañas, los saltos de línea, los rellenos, etc. deben especificarse allí). 'scala.xml.PrettyPrinter' ayuda, cuando el destino es consola. En el caso de la respuesta al servlet, simplemente envíe XML tal como está, y haga una impresión bonita en el lado del cliente. –

+4

Vasil: Sí, existe ese formato, y todos sabemos lo que significa. Concentrémonos en ser constructivos aquí: todo lo que se necesita es scala.xml.PrettyPrinter sin salida a java.io.Writer. Es factible: la pregunta es si alguien ya lo ha hecho. Y es completamente razonable querer imprimir bastante en el servlet mientras se desarrolla. –

Respuesta

0

scala.xml.PrettyPrinter.format(Node,StringBuilder) podría ser objeto de abuso mediante la reorientación de las llamadas a append el escritor ... Sin embargo, esto depende en gran medida de la implementación actual del PrettyPrinter, por lo que esta es una no-respuesta ;-)

Cuestiones relacionadas