我首先在谷歌上搜索,发现了很多关于如何使用 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/