Bonjour,
Suite a un décryptage des fichiers XML que j'ai en entrée, je souhaite parser ces derniers à l'aide du code suivant :
1 2 3 4
| SAXBuilder Builder = new SAXBuilder();
InputStream inStream = new FileInputStream(this.XmlFilePath);
inStream = new CipherInputStream(inStream, cipher_decrypt);
this.xmlFile = Builder.build(inStream); |
Ceci marche très bien sauf que lors du test de la DTD, le chemin spécifié est relatif au projet et non au fichier XML. Je m'explique :
Voici la doctype que j'ai mis dans mes fichiers XML <!DOCTYPE EQUIPMENT SYSTEM "../lib/equipment.dtd">
Ceci correspond normalement à revenir au répertoire parent (de celui contenant les XML) puis aller dans "lib". Or le parser cherche lui dans le répertoire parent du projet Netbeans, le dossier "lib" qui n'existe pas...
Ce problème ne m'arrivait pas lorsque je parsais de la manière suivante :
this.xmlFile = Builder.build(new File(this.XmlFilePath));
Le problème se résume donc en un workingDirectory mal apprécié. Si quelqu'un pouvait m'aider à changer ceci, je suis preneur.
Merci.
Partager