IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Format d'échange (XML, JSON...) Java Discussion :

getElementById + DTD [DOM]


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 62
    Par défaut getElementById + DTD
    Bonjour,

    Je souhaite ouvrir un fichier xml et accéder à ses éléments avec la méthode getElementById de l'Interface Document.

    Pour cela, si j'ai bien compris, mon xml doit être bin formé et avoir une DTD correcte.

    Dans mon xml, j'ai ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" >
    En java, j'ouvre le fichier comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    			File file = new File(fileToRead);
    			DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    			DocumentBuilder db = dbf.newDocumentBuilder();
    			Document doc = db.parse(file);
    			doc.getDocumentElement().normalize();
    			fileDocument = doc;
    Problème, Eclipse me dit la chose suivante:

    java.io.IOException: Server returned HTTP response code: 503 for URL: http://www.w3.org/TR/xhtml-modulariz...inlstyle-1.mod
    at sun.net.http://www.protocol.http.HttpURLConn...Stream(Unknown Source)
    at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
    at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)

    Si je ne précise pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" >
    J'arrive à ouvrir le fichier, mais la methode getElementById retourne null à chaque fois ...

    Merci pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 62
    Par défaut
    Bonjour j'ai a priori trouvé la solution, il faut utiliser la DTD en local parce que certains ports de http://www.w3.org sont fermés => error 503.

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Je confirme qu'il faut utiliser la DTD en local, mais le problème avec le W3C n'est pas qu'il a des "ports fermés", c'est qu'il est surchargé et ne peut pas répondre aux requêtes...

    Justement parce que les bibliothèques XML s'amusent joyeusement à récupérer les DTD externes par défaut, sans que le programmeur en fasse la demande, à chaque fois qu'il y a un fichier à parser... Et que la plupart du temps les URIs de ces DTDs sont chez le W3C.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XML] DOMDocument getElementById DTD
    Par shurik'n dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 14/05/2012, 16h23
  2. [XML][DTD] Creer un parser à partir d'une DTD
    Par schnekre dans le forum Valider
    Réponses: 4
    Dernier message: 15/12/2003, 12h59
  3. Réponses: 2
    Dernier message: 29/07/2003, 12h52
  4. Faire respecter une DTD !!!
    Par haypo dans le forum Valider
    Réponses: 3
    Dernier message: 12/07/2003, 19h20
  5. Placement des balises avec DTD
    Par Keul125 dans le forum Valider
    Réponses: 4
    Dernier message: 28/05/2003, 12h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo