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 :

XML Supprimer les espaces superflus


Sujet :

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de NizarK
    Inscrit en
    Mars 2007
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 189
    Par défaut XML Supprimer les espaces superflus
    Voilà lors du chargment d'un ficher XML et après son envoi à traver JMS, il arrive que mon fichier XML contienne des espaces superflus entre les balises Ce qui fait que si on compare le String représentant mon XML de départ et celui envoyé par JMS , on trouve que leur taille est différente.

    Ma question est :

    1- Quelle est la raison de l'apparition de ces espaces superflus ?

    2- Existe t il une méthode simple à appliquer à mon fichier String pour que ces espaces soient supprimés. j'ai essayé avec mais ceci remplace tous les espaces même ceux qui sont nécessaires ( comme ceux qui se trouvent entre le nom de la balise et les attributs ).

    D'avance merci .

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Hello,

    je ne sais pas quelle libs tu utilises, mais par exemple, sous JDom, tu peux choisir le format à retourner: Format.getPrettyFormat() va indenter le code afin de le rendre lisible par un humais, Format.getRawFormat() va enlever tous les espaces inutiles, etc...

    Peut-être un configuration à ce niveau là?

  3. #3
    Membre confirmé Avatar de NizarK
    Inscrit en
    Mars 2007
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 189
    Par défaut
    En lisant ton message , je viens de me rappeler qu'en effet :

    avant que le problème apparaisse , j'utilisais dom4j et SAXReader pour parser l'XML et en tirer un sous XML qui correspond à l'XML dont j'ai besoin, celui là même qui est sujet du conflit de tailles.
    Avec dom4j il n' y avait aucun problème avec les tailles.

    Après j'ai changé car j'avais besoin d'arbre DOM . J'utilise donc cette méthode :

    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();

    depuis les tailles ne correspondent plus car il ya tous ces espaces en plus.

  4. #4
    Invité
    Invité(e)
    Par défaut Avec un parseur DOM
    Avec un parseur DOM ça donne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    try {
    			DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    			dbf.setIgnoringElementContentWhitespace(true);
    			d = dbf.newDocumentBuilder().parse("src/dataTestsDom/graph.xml");
    		} catch (ParserConfigurationException e) {
    			e.printStackTrace();
    		} catch (SAXException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    La javadoc nous dit :

    setIgnoringElementContentWhitespace

    public void setIgnoringElementContentWhitespace(boolean whitespace)
    Specifies that the parsers created by this factory must eliminate whitespace in element content (sometimes known loosely as 'ignorable whitespace') when parsing XML documents (see XML Rec 2.10). Note that only whitespace which is directly contained within element content that has an element only content model (see XML Rec 3.2.1) will be eliminated. Due to reliance on the content model this setting requires the parser to be in validating mode. By default the value of this is set to false.
    Parameters:
    whitespace - true if the parser created must eliminate whitespace in the element content when parsing XML documents; false otherwise.

Discussions similaires

  1. Supprimer les espaces dans un XML
    Par GreatDeveloperOnizuka dans le forum C#
    Réponses: 6
    Dernier message: 28/09/2010, 16h09
  2. Réponses: 9
    Dernier message: 06/11/2007, 12h36
  3. [DEBUTANT]Supprimer les espaces pour une requete
    Par tripper.dim dans le forum Oracle
    Réponses: 4
    Dernier message: 12/10/2005, 16h04
  4. Supprimer les espaces
    Par jmde dans le forum Access
    Réponses: 16
    Dernier message: 24/09/2005, 22h40
  5. Supprimer les espaces des noms de fichier
    Par Cathy dans le forum Linux
    Réponses: 20
    Dernier message: 04/08/2005, 17h13

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