如何从Java中的xml Document对象中删除encoding ="UTF-8"standalone ="no"

Vex*_*toR 7 java xml xmldocument

我想用Java创建XML.

     DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
     DocumentBuilder docBuilder;
     docBuilder = dbfac.newDocumentBuilder();
     Document doc = docBuilder.newDocument();
Run Code Online (Sandbox Code Playgroud)

但是Java会自动创建这样的声明

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
Run Code Online (Sandbox Code Playgroud)

我怎么能这样删除 encoding="UTF-8" standalone="no"

<?xml version="1.0"?>
Run Code Online (Sandbox Code Playgroud)

谢谢!

Eri*_*aju 14

为什么需要删除编码?但..

doc.setXmlStandalone(true);
Run Code Online (Sandbox Code Playgroud)

将擦除 standalone="no"


小智 12

transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
Run Code Online (Sandbox Code Playgroud)

这将解决您的问题,在JDK 6验证


Igo*_*nko -1

我认为没有合法的方法可以将这些属性排除在生成之外。但生成后,您可以使用 XSLT 删除它。

我认为这是一个好办法。