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 :

Caractère de contrôle dans CDATA


Sujet :

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Ingénieur développement J2EE
    Inscrit en
    Mai 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement J2EE
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1
    Par défaut Caractère de contrôle dans CDATA
    Bonjour,
    J'ai un fichier xml de grande taille à parser avec l'API SAX. Ce fichier contient le caractère de contrôle SUB dans une balise CDATA du coup j'ai une fatal Error qui arrête le programme. Je voudrai savoir s'il y a un moyen de supprimer ce caractère ou de le passer pour continuer le parsing sans parcourir le fichier. J'ai déjà cherché du côté ContentHandler et XMLFilter mais j'ai rien trouvé.

    voici la ligne qui pose problème dans mon fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?xml version="1.0" encoding="UTF-8" ?>
    <Referentiel>
    <valp><cod_val>41343</cod_val><ab_val>TXTLI</ab_val><lib_val><![CDATA[CSUBURS]]></lib_val><val_pris/><dat_maj>06/04/11</dat_maj></valp>
    </Referentiel>
    et le code java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    XMLReader saxReader;
    		saxReader = XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");
     
    		saxReader.setContentHandler(new BasicContentHandler());
     
    		String path = "C:/chemin/Referentiel_no_flux_20110511221355.xml";
    		saxReader.parse(path);
    Merci d'avance pour votre aide.

  2. #2
    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
    Citation Envoyé par watik Voir le message
    Je voudrai savoir s'il y a un moyen de supprimer ce caractère ou de le passer pour continuer le parsing sans parcourir le fichier.
    En général pas avec SAX, non. D'abord tu enlèves les caractères invalides, ensuite tu le passes à SAX.

    Le mieux étant bien sûr de refuser obstinément tout ce qui n'est pas du XML bien formé : qui sait ce qui va se passer si tu acceptes n'importe quoi ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 7
    Dernier message: 09/07/2015, 14h18
  2. Réponses: 6
    Dernier message: 25/10/2004, 09h51
  3. Réponses: 2
    Dernier message: 13/10/2004, 15h32
  4. Ajouter des contrôles dans la palette des contrôles.
    Par WOLO Laurent dans le forum MFC
    Réponses: 4
    Dernier message: 22/01/2004, 08h27
  5. caractère générique utilisable dans strcmp
    Par barthelv dans le forum C
    Réponses: 9
    Dernier message: 01/08/2003, 16h54

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