有没有办法在
Java中没有XML标头标签的情况下打印XML内容?
例如,如果我有这样的XML:
<?xml version='1.0' encoding='UTF-8'?> <rootElement> <childElement>Text</childElement> </rootElement>
我只想打印
<rootElement> <childElement>Text</childElement> </rootElement>
这与我到目前为止所做的非常相似:
http://sacrosanctblood.blogspot.com/2008/07/convert-xml-file-to-xml-string-in-java.html
我不能给出确切的源代码,但上面的链接示例应该给你一些想法.这是带导入的代码:
import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.TransformerFactory; import javax.xml.transform.Transformer; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import org.w3c.dom.Attr; import org.w3c.dom.Document; import org.w3c.dom.Text; public String convertXMLFileToString(String fileName) { try{ DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); InputStream inputStream = new FileInputStream(new File(fileName)); org.w3c.dom.Document doc = documentBuilderFactory.newDocumentBuilder().parse(inputStream); StringWriter stw = new StringWriter(); Transformer serializer = TransformerFactory.newInstance().newTransformer(); serializer.transform(new DOMSource(doc),new StreamResult(stw)); return stw.toString(); } catch (Exception e) { e.printStackTrace(); } return null; }
解决方法
Transformer serializer = TransformerFactory.newInstance().newTransformer(); serializer.setOutputProperty("omit-xml-declaration","yes"); serializer.transform(new DOMSource(doc),new StreamResult(stw));
老旧的XSL;).