Как удалить encoding= "UTF-8" standalone= " no " из объекта xml-документа в Java

Я хочу создать XML в Java.

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

но Java автоматически создает объявление, как это

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

как я могу удалить encoding="UTF-8" standalone="no" так и будет

<?xml version="1.0"?>

спасибо!

3 ответов


Я думаю, что нет законного способа исключить эти атрибуты из поколения. Но после его создания вы можете использовать XSLT для удаления этого.

Я думаю, что это хороший способ.


зачем нужно удалять кодировку? Но..

doc.setXmlStandalone(true);

будут удалены standalone="no"


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

Это решит вашу проблему, проверенную на JDK 6