java - 使用 XPath 解析 xml 文档。为什么要在结果中添加 <xml tag as a header>?

标签 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;
}

此方法非常有效,但转换器添加了一个 <?xml version="1.0" encoding="UTF-8"?>在结果的标题中,我不想要那个。这是该方法的结果:

<?xml version="1.0" encoding="UTF-8"?>
<xmlTagToTrasform>
  <xmlTagToTrasform2>
        .
        .
        .
        .
  </xmlTagToTrasform2>
</xmlTagToTrasform>

最佳答案

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

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

关于java - 使用 XPath 解析 xml 文档。为什么要在结果中添加 <xml tag as a header>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27125669/

相关文章:

xml - XPath 版本(1.0、2.0、3.1)之间有什么区别

xml - 如何使用 xmlstarlet 或类似工具附加或前置到 xml 文件中的属性?

java - 将 namespace 添加到 AXIOMXPath

c# - 编写 xml 文档时去除自闭标签中的空格

c# - 将 XmlDocument 作为子节点添加到另一个 XmlDocument

java - Hibernate - 这个映射是否正确?无法通过反射 getter 获取字段值?

java - 仅来 self 的包的 Spring Boot 堆栈跟踪日志记录过滤器

javascript - 所见即所得 XML 编辑器 Web 应用程序

java - 无法通过 BufferedReader 读取文本文件

java - <h :graphicImage> is not getting refreshed in JSF