2011-09-22 19 views
6

Quiero crear XML en Java.Cómo eliminar la codificación = "UTF-8" standalone = "no" de xml Objeto de documento en Java

 DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance(); 
    DocumentBuilder docBuilder; 
    docBuilder = dbfac.newDocumentBuilder(); 
    Document doc = docBuilder.newDocument(); 

pero Java crea automáticamente declaración como esta

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 

Cómo me puede quitar encoding="UTF-8" standalone="no" por lo que será

<?xml version="1.0"?> 

Gracias!

+1

¿Por qué te importa? –

+0

posible duplicado de http://stackoverflow.com/questions/2133395/remove-xml-declaration-from-the-generated-xml-document-using-java –

+0

@JoachimSauer, no quiero anular la codificación porque otras el programa usa este XML de una manera que no sé. Entonces no puedo estar seguro de qué codificación puedo establecer – VextoR

Respuesta

-2

Creo que no existe una forma legal de excluir estos atributos de la generación. Pero después de que se genera, puede usar XSLT para eliminar esto.

Creo que esta es una buena manera.

13

¿Por qué necesita eliminar una codificación? Pero ..

doc.setXmlStandalone(true); 

borrará standalone="no"

11
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); 

Esto resolvería el problema, verificado en JDK 6

+0

No entiendo la marca negativa en la pregunta. Tuve el mismo problema para crear un archivo BPEL y podría haber muchas otras razones por las que esto es necesario. Así que gracias por tu respuesta. Me hubiera llevado años. – eskalera

Cuestiones relacionadas