Bonjour,
Dans le cas où on utilise JDOM pour parser un fichier XML en java et que ce fichier XML contient une balise doctype :
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
Pour parser ce XML, on commence comme ceci :
Le problème est lorsque l'on travaille en local ( sans accès à internet ), la validation du XML va échouer car il n'arrivera pas à atteindre l'URL contenue dans le doctype :http://struts.apache.org/dtds/struts-config_1_2.dtd
Et on obtiendra une erreur dans ce genre là : Connection timed out: connect
Dans ce cas là, on peut indiquer à JDOM de ne pas vérifier le XML :
Et maintenant ça marche.
Dans le cas où on utilise JDOM pour parser un fichier XML en java et que ce fichier XML contient une balise doctype :
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
Pour parser ce XML, on commence comme ceci :
SAXBuilder sxb = new SAXBuilder();
try{
document = sxb.build(strutsConfig);
document = sxb.build(strutsConfig);
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
Le problème est lorsque l'on travaille en local ( sans accès à internet ), la validation du XML va échouer car il n'arrivera pas à atteindre l'URL contenue dans le doctype :http://struts.apache.org/dtds/struts-config_1_2.dtd
Et on obtiendra une erreur dans ce genre là : Connection timed out: connect
Dans ce cas là, on peut indiquer à JDOM de ne pas vérifier le XML :
SAXBuilder sxb = new SAXBuilder();
sxb.setValidation(false);
sxb.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
try{
document = sxb.build(strutsConfig);
document = sxb.build(strutsConfig);
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
Et maintenant ça marche.