KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
how come dom with java erases doctype when editing xml ? got this xml file : <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <!DOCTYPE map[ <!ELEMENT map (station*) > <!ATTLIST station id ID #REQUIRED> ]> <favoris> <station id="5">test1</station> <station id="6">test1</station> <station id="8">test1</station> </favoris> my function is very basic : public static void EditStationName(int id, InputStream is, String path, String name) throws ParserConfigurationException, SAXException, IOException, TransformerFactoryConfigurationError, TransformerException{ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document dom = builder.parse(is); Element e = dom. getElementById(String.valueOf(id)); e.setTextContent(name); // Write the DOM document to the file Transformer xformer = TransformerFactory.newInstance().newTransformer(); FileOutputStream fos = new FileOutputStream(path); Result result = new StreamResult(fos); Source source = new DOMSource(dom); xformer.setOutputProperty( OutputKeys.STANDALONE,"yes" ); xformer.transform(source, result); } it's working but the doctype gets erased ! and I just got the whole document but without the doctype part, which is important for me because it allows me to retrieve by id ! how can we keep the doctype ? why does it erase it? I tried many solution with outputkeys for example or omImpl.createDocumentType but none of these worked... thank you !
Tags (comma-separated)
Save Edits
Cancel