Bonjour,
j'ai un soucis avec le DOCYTPE d'un document que je parse avec DOM.
Ca fait plusieurs jours que je cherche une solution, mais rien ne correspond à mon problème qui semble être assez spécifique...
J'ai un fichier xml avec l'entête suivante :
<!DOCTYPE Nomquelconque>
Je le parse avec DOM, en faisant des modifications à l'intérieur (un simple remplacement d'une valeur d'un élément bien précis).
Tout marche sans problème sauf que lorsque j'écris le résultat (avec Transformer), j'obtiens un document qui ne contient pas EXACTEMENT le même DOCTYPE.
Voici le code que j'utilise :
Le problème, c'est que j'obtiens
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Source source = new DOMSource(doc); // Prepare the output file File file = new File(filename); Result result = new StreamResult(file); // Write the DOM document to the file Transformer xformer = TransformerFactory.newInstance().newTransformer(); xformer.setOutputProperty(OutputKeys.INDENT, "yes"); xformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); xformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, "Test");
alors qu'il me faut impérativement<!DOCTYPE Nomquelconque SYSTEM "Test">
Y a-t-il un moyen propre d'arriver au résultat que je souhaite ?<!DOCTYPE Nomquelconque>
Merci mille fois d'avance pour votre aide, parce que là j'ai l'impression d'avoir tout essayé...
dondamiano
Partager