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

  FORUM HardWare.fr
  Programmation
  Java

  [Résolu] parser un fichier xml en ignorant le DTD

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] parser un fichier xml en ignorant le DTD

n°1381953
Papy Bross​ard
Posté le 06-06-2006 à 12:06:21  profilanswer
 

Bonjour à tous.
 
Je suis en train d'essayer de parser un document xml seulement voilà : la DTD renseignée n'est pas présente. J'aimerais donc que le parser n'en tienne pas compte (parce que pour le moment, ça me fait une fatale error).
 
Voilà comment je parse le fichier :
           

Code :
  1. DocumentBuilderFactory docFactory = DocumentBuilderFactory
  2.                   .newInstance();
  3. DocumentBuilder docBuilder;
  4. docBuilder = docFactory.newDocumentBuilder();
  5. docBuilder.setErrorHandler((ErrorHandler) null);
  6. Document doc = docBuilder.parse(descr.getLocation().toOSString());


 
Quelqu'un saurait me dire comment faire ? J'ai regardé avec sax mais tout semble deprecated...
 
Merci d'avance !  :hello:


Message édité par Papy Brossard le 07-06-2006 à 15:37:50
mood
Publicité
Posté le 06-06-2006 à 12:06:21  profilanswer
 

n°1381961
Bidem
Posté le 06-06-2006 à 12:12:00  profilanswer
 

API
 

Code :
  1. DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
  2. docFactory.setValidating(false);


 

n°1381983
Papy Bross​ard
Posté le 06-06-2006 à 12:49:41  profilanswer
 

Humhum...  
Cela m'étonne car : 1/ j'ai essayé
                           2/ C'est le comportement par defaut.
 
Donc ça ne semble pas faire ce que je pensais. Ou alors je me trompe ?

n°1382002
zapan666
Tout est relatif
Posté le 06-06-2006 à 13:13:04  profilanswer
 

Il semble qu'il faille utilise un EntityResolver
 
Tu fais le tiens, qui dit que pour ton DTD, faut pas essayer de le lire...
 
Source :
http://servlets.com/archive/servle [...] m-interest
http://www.jdom.org/pipermail/jdom [...] 06891.html
 
Attention, j'ai juste lu, ca ne veut pas dire que ca marche


---------------
my flick r - Just Tab it !
n°1382006
Papy Bross​ard
Posté le 06-06-2006 à 13:19:51  profilanswer
 

Je vais deja regarder ça, merci.

n°1382942
Papy Bross​ard
Posté le 07-06-2006 à 15:34:46  profilanswer
 

J'ai trouvé yune solution. Je la mets ici pour info, ça peut servir à d'autres.

Code :
  1. DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
  2.          DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
  3.          docBuilder.setErrorHandler((ErrorHandler) null);
  4.          docBuilder.setEntityResolver(new NoDTDEntityResolver());
  5. ....
  6. private class NoDTDEntityResolver implements EntityResolver
  7.    {
  8.       public InputSource resolveEntity(String publicID, String systemID)
  9.       {
  10.          if (systemID.equals("perso.dtd" ))
  11.          {
  12.             return new InputSource(new StringReader("" ));
  13.          }
  14.          return null;
  15.       }
  16.    }


Message édité par Papy Brossard le 07-06-2006 à 15:37:28

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

  [Résolu] parser un fichier xml en ignorant le DTD

 

Sujets relatifs
[RESOLU] Récupération de ligne en VBTri d'un fichier texte par date
[RESOLU]Selection ds menu deroulant d'une BD puis echo d'un champ lié[RESOLU] sélectionner une ligne quelconque en VB
[Résolu] Déclaration implicite[RESOLU]Envoie via outlook d'un mail "préformatté" depuis un formulair
[résolu]mon update n'est pas acceptéOuverture de fichier en lecture, bloquante ou pas ?
[Résolu] SqlServer procédure de lancer à heure fixe"RESOLU" Macro ou lien hypertexte pour ouvrir un fichier .xls
Plus de sujets relatifs à : [Résolu] parser un fichier xml en ignorant le DTD


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