Как удалить кодировку = "UTF-8" standalone = "no" из объекта XML в Java - PullRequest
7 голосов
/ 22 сентября 2011

Я хочу создать 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 ]

14 голосов
/ 28 октября 2011

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

doc.setXmlStandalone(true);

сотрет standalone="no"

12 голосов
/ 12 апреля 2012
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");

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

0 голосов
/ 22 сентября 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...