Salut,
Voilà, je souhaiterai récupérer uniquement le nom de la DTD des fichiers XML que je parse, sans m'occuper du contenu de la DTD. Je rencontre un problème lorsque je charge le document avec le parser DOM, le parser cherche à analyser la DTD et lance une Exception car il ne trouve pas la DTD (java.io.FileNotFoundException).
J'ai essayé de désactiver la validation, mais sans succès, voici mon code :
J'aimerai uniquement obtenir le contenu de <!DOCTYPE ...> pour effectuer d'autres traitements par la suite (XSL associée à la DTD).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 public static String getDTD(String _fichier) { try { File ficXML = new File(_fichier); // Charger le document FileInputStream _xml_input_file = new FileInputStream(_fichier); //instancier le contrcuteur de parseurs DocumentBuilderFactory _factory = DocumentBuilderFactory.newInstance(); //ignorer les commentaires dans les fichiers XML pars� _factory.setValidating(false); // cr褲 un parseur DocumentBuilder _builder = _factory.newDocumentBuilder(); // Charger le document Document doc = _builder.parse(_xml_input_file); if (doc.getDoctype()!=null) { return doc.getDoctype().getName(); } else return ""; } catch (Exception e) { e.printStackTrace(); return ""; } }
Merci d'avance
++
Partager