Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

remove xml declaration from the generated xml document using java

String root = "RdbTunnels";
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.newDocument();
Element rootElement = document.createElement(root);
document.appendChild(rootElement);   

OutputFormat format = new OutputFormat(document);
format.setIndenting(true);


XMLSerializer serializer = new XMLSerializer(System.out, format);
serializer.serialize(document);

gives the result as following

<?xml version="1.0" encoding="UTF-8"?>
<RdbTunnels/>

but I need to remove the xml declaration from the output how can I do that

like image 807
flash Avatar asked Jan 25 '10 15:01

flash


2 Answers

Add this

format.setOmitXMLDeclaration(true);

Example

OutputFormat format = new OutputFormat(document);
format.setIndenting(true);
format.setOmitXMLDeclaration(true);
like image 143
Peter Lindqvist Avatar answered Sep 28 '22 20:09

Peter Lindqvist


Have you seen OutputKeys as used by Transformer? Specifically OMIT_XML_DECLARATION.

Note that removing the header is valid in XML 1.0, but you lose character encoding data (among other things) which can be very important.

like image 43
Brian Agnew Avatar answered Sep 28 '22 20:09

Brian Agnew