使用XPath解析xml文档.为什么在结果中添加<xml标记作为标题>?

Mil*_*aci 1 java xml xpath

我先搜索谷歌,然后发现了很多关于如何用xpath解析xml文档的结果.我已解析它但想要在String中转换NODELIST并且我已经为它创建了一个方法:

private String processResult(Document responseDocument) throws XPathExpressionException,       TransformerException {
   NodeList soaphead = responseDocument.getElementsByTagName("xmlTagToTrasform"); 
   StringWriter sw = new StringWriter(); 
   Transformer serializer = TransformerFactory.newInstance().newTransformer(); 
   serializer.transform(new DOMSource(soaphead.item(0)), new StreamResult(sw)); 
   String result = sw.toString();
   return result;
}
Run Code Online (Sandbox Code Playgroud)

这种方法工作正常,但变换器<?xml version="1.0" encoding="UTF-8"?>在结果的标题中添加了一个,我不希望这样.这是该方法的结果:

<?xml version="1.0" encoding="UTF-8"?>
<xmlTagToTrasform>
  <xmlTagToTrasform2>
        .
        .
        .
        .
  </xmlTagToTrasform2>
</xmlTagToTrasform>
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 6

在调用之前,您可以将变换器配置为不输出XML声明transform:

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