Java com.w3c.dom.Document不带<;?xml版本=";1.0“;编码=";UTF-8“;独立=";否&燃气轮机;

Java com.w3c.dom.Document不带<;?xml版本=";1.0“;编码=";UTF-8“;独立=";否&燃气轮机;,java,xml,Java,Xml,我正在使用以下代码从字符串创建com.w3c.dom.Document: DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); Document doc = docBuilder.parse(new InputSource(new StringReader("<a>&l

我正在使用以下代码从
字符串创建
com.w3c.dom.Document

DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.parse(new InputSource(new StringReader("<a><b id="5"/></a>")));
一切正常,但我不希望XML具有
声明,因为我必须使用私钥对进行签名并嵌入到soap信封中。

您可以使用,并将属性设置为
“yes”

请注意,您还可以:

  • 如果您确实不需要
    文档,请使用而不是
    DOMSource
    字符串直接馈送到转换器
  • 如果要输出
    文档
    ,请使用而不是
    StreamResult

谢谢!现在我又遇到了另一个问题,我正试图自己解决它们!:)
<?xml version="1.0" encoding="UTF-8" standalone="no"?><a><b id="5"/></a>
Transformer t = TransformerFactory.newInstance().newTransformer();
t.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
StringWriter sw = new StringWriter();
t.transform(new DOMSource(doc), new StreamResult(sw));