After PI node I get following output after converting from xml doc to string
<?xml version="1.0" encoding="UTF-8"?>
<?xp Request=007?>
<!DOCTYPE ShowCatalog SYSTEM "
<ShowCatalog>
<AcesVehicle>
<BaseVehicle id="7947"/>
<MfrBodyCode id="1772">VZV2</MfrBodyCode>
</AcesVehicle>
</ShowCatalog>
why is newline added after doctype? When I don't add PI node(?xp) then I don't get a new line.
Here is my code:
DocumentBuilder builder = factory.newDocumentBuilder();
DOMImplementation impl = builder.getDOMImplementation();
DocumentType docType = impl.createDocumentType("ShowCatalog", "SYSTEM", " xmldoc = impl.createDocument(null, "ShowCatalog", docType);
ProcessingInstruction pi = xmldoc.createProcessingInstruction("xp", "Request=007");
Element root = xmldoc.getDocumentElement();
root.getParentNode().insertBefore(pi, root);
Element e = null;
Node n = null;
Element aces = xmldoc.createElement("AcesVehicle");
root.appendChild(aces);
e = xmldoc.createElement("BaseVehicle");
e.setAttribute("id", "7947");
aces.appendChild(e);
e = xmldoc.createElement("MfrBodyCode");
e.setAttribute("id", "1772");
n = xmldoc.createTextNode("VZV2");
e.appendChild
;
aces.appendChild(e);
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM," StringWriter writer = new StringWriter();
StreamResult result = new StreamResult(writer);
DOMSource source = new DOMSource(xmldoc);
transformer.transform(source, result);
String xmlString = writer.toString();
Thanks,
Dhiruster
<?xml version="1.0" encoding="UTF-8"?>
<?xp Request=007?>
<!DOCTYPE ShowCatalog SYSTEM "
<ShowCatalog>
<AcesVehicle>
<BaseVehicle id="7947"/>
<MfrBodyCode id="1772">VZV2</MfrBodyCode>
</AcesVehicle>
</ShowCatalog>
why is newline added after doctype? When I don't add PI node(?xp) then I don't get a new line.
Here is my code:
DocumentBuilder builder = factory.newDocumentBuilder();
DOMImplementation impl = builder.getDOMImplementation();
DocumentType docType = impl.createDocumentType("ShowCatalog", "SYSTEM", " xmldoc = impl.createDocument(null, "ShowCatalog", docType);
ProcessingInstruction pi = xmldoc.createProcessingInstruction("xp", "Request=007");
Element root = xmldoc.getDocumentElement();
root.getParentNode().insertBefore(pi, root);
Element e = null;
Node n = null;
Element aces = xmldoc.createElement("AcesVehicle");
root.appendChild(aces);
e = xmldoc.createElement("BaseVehicle");
e.setAttribute("id", "7947");
aces.appendChild(e);
e = xmldoc.createElement("MfrBodyCode");
e.setAttribute("id", "1772");
n = xmldoc.createTextNode("VZV2");
e.appendChild
aces.appendChild(e);
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM," StringWriter writer = new StringWriter();
StreamResult result = new StreamResult(writer);
DOMSource source = new DOMSource(xmldoc);
transformer.transform(source, result);
String xmlString = writer.toString();
Thanks,
Dhiruster