Parser DOM et Ignorer la DTD
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 :
Code:
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 "";
}
} |
J'aimerai uniquement obtenir le contenu de <!DOCTYPE ...> pour effectuer d'autres traitements par la suite (XSL associée à la DTD).
Merci d'avance
++