Parsing xml com DOM, DOCTYPE é apagado
como dom com java apaga doctype ao editar xml?
got este arquivo xml:
<?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>
função @my é muito básica:
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);
}
está funcionando, mas o doctype é apagado! e acabei de receber o documento inteiro, mas sem a parte doctype, o que é importante para mim porque me permite recuperar por id! como podemos manter o doctype? por que apaga isso? Tentei muitas soluções com outputkeys, por exemplo, ou omImpl.createDocumentType, mas nenhuma delas funcionou ...
obrigado