Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
706 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [XML]probleme de parseur avec la DTD

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[XML]probleme de parseur avec la DTD

n°1177167
le_moustiq
Posté le 16-08-2005 à 16:01:27  profilanswer
 

Bonjour,
je débute dans les méthodes de parsing et j'essaye de parser un document XML. Ce document XML respect une DTD en locale. Mais la méthode parse me ressort une erreur.
 
Voici mon code

Code :
  1. DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  2.   DocumentBuilder builder = factory.newDocumentBuilder();
  3.   //lecture du fichier
  4.   File f = new File(path);
  5.   doc = builder.parse(f);


 
voila l'erreur que ca me ressort:
java.io.fileNotFoundException: F:\exempleXML\C:\Program Files\Arbortext....\Microcontroller.dtd (le chemind'accès spécifié n'est pas valide)
 
F:\exempleXML est l endroit où se trouve le document XML et
C:\Program Files\Arbortext....\Microcontroller.dtd est le chemin de la dtd que lon peut trouver dans le fichier XML
 
alors j'aimerais bien savoir comment on peut faire en sorte qu'il prenne le bon chemin(bas cette forme collé de deux chemins) ou alors comment désactiver la validation car je n'ai pas besoin de le valider(je préférerais ça d'ailleurs car mes fichiers XML peuvent être énorme).
Merci

mood
Publicité
Posté le 16-08-2005 à 16:01:27  profilanswer
 

n°1177299
Bidem
Posté le 16-08-2005 à 17:51:18  profilanswer
 

Dans un fichier XML, quand tu mets un chemin pour la DTD, il faut utiliser une URI.
 
Exemple :

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!DOCTYPE elementPrincipal SYSTEM "file://c:/mesDTD/toto.dtd">
  3. ...


 
Dans ton cas le parseur essaye de trouver la DTD via un chemin relatif à ton fichier XML car tu as dû oublier le "file://"
 

n°1178582
le_moustiq
Posté le 18-08-2005 à 10:58:37  profilanswer
 

effectivement c'était à cause de cela que ça plantait, merci. Comme les fichiers XML ce n'est pas moi qui les crée mais je ne fais que les récupérer, je ne l'avais pas vu.
Par contre du coup il me trouve ma dtd, mais il plante du coup sur un element de la DTD(j'utilise dom4j)
 

Code :
  1. <!ENTITY % DocBookDTD PUBLIC "-//OASIS//...//EN"
  2.                 ".//docbookx.dtd">
  3. %DocBookDTD;


 
du coup il me dit :
Entité externe introuvable : "file://.//docbookx.dtd"
 
Alors que le docboox.dtd se trouve bien sur au meme endroit que la dtd "Microcontroller.dtd"
 
Est ce que qqun connait un remède(et comment ca se fait qu'il cherche à lire toutes la dtd alors que je lui ai dit de ne pas valider?)?
 
Si j'utilise javax.xml.parsers.DocumentBuilder.parse(File documentXML), dans ce cas il ne plante pas(mais je préférerais utiliser dom4j que javax.xml)


Message édité par le_moustiq le 18-08-2005 à 11:12:29

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [XML]probleme de parseur avec la DTD

 

Sujets relatifs
Petit problème[VB.NET] Probleme form
Probléme de saisi de caractére !!Probleme avec mon systeme de pages
probleme avec sort [resolu]Probleme avec script : XML to PHP
Problème de hauteur de divisionproblème de requête
récupérer du contenu XML d'une fonction PHP dans une feuille XSLT ? 
Plus de sujets relatifs à : [XML]probleme de parseur avec la DTD


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR