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] Trimmer espaces hors balise


Sujet :

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Par défaut [XML] Trimmer espaces hors balise
    Bonjour !

    C'est peut-être trivial, mais je n'ai pas encore trouvé de solution (ni faq ; ni recherche ; ni google) : comment peut-on supprimer en Java la mise en page (de la structure mais pas des données) d'un XML pour obtenir un formatage finalement sans aucun espace ou ligne inutile ?
    Du syle...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <saut_de_ligne>
     
                      <ligne_vide>  texte avec des espaces de chaque côté </ligne_vide>     <tabulation>texte sur une 1e ligne
    texte sur une 2e ligne</tabulation>
      <indentation>1967-08-13</indentation><balise_vide/>
    <!-- commentaire -->
    </saut_de_ligne>
    ...deviendrait...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <?xml version="1.0" encoding="ISO-8859-1"?><saut_de_ligne><ligne_vide>  texte avec des espaces de chaque côté </ligne_vide><tabulation>texte sur une 1e ligne
    texte sur une 2e ligne</tabulation><indentation>1967-08-13</indentation><balise_vide/><!-- commentaire --></saut_de_ligne>
    NB_ J'ai déjà essayé avec les "formats compacts" de JDOM et dom4J, ainsi qu'avec "javax.xml.transform" de JAXP mais sans véritable XSLT (juste <<transformer.setOutputProperty(OutputKeys.INDENT, "no")>>) : aucun résultat qui ne permettent par exemple de dissocier les espaces superflus dans ou en dehors d'une balise.

    MERCI d'avance

    PS_ Je dois stocker ce XML "minimisé" dans un CLOB en base de données (voilà pourquoi je ne peux polluer mon Oracle avec une présentation potentiellement "spammeuse" car provenant d'un Web Service publique)

  2. #2
    Membre émérite Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Par défaut
    Je viens aussi d'essayer d'appliquer la "canonicalization exclusive" avec XOM (mais ça ne correspond pas au besoin), et de construire un StringBuffer au fur et à mesure du parcours d'un parseur SAX en JAXP (sans arriver à maîtriser les méthodes de <<org.xml.sax.helpers.DefaultHandler>>...) : donc si jamais quelqu'un savait exprimer une transformation XSLT qui supprimerait toute mise-en-forme inutile (sauf la présentation du texte dans une balise finale) ?!

    MERCI bien à tous de prendre du temps pour mon problème

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/05/2006, 20h42
  2. [XML] ChildNodes: différencier si balise vide ou inexistante
    Par MiJack dans le forum Composants VCL
    Réponses: 4
    Dernier message: 05/04/2006, 14h25
  3. [XML] validation de fichier XML:l'ordre des balises compte ?
    Par longbeach dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 04/09/2005, 18h53
  4. [XSLT] XML->XML conversion attributs en balises
    Par ¤ Actarus ¤ dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 08/07/2005, 09h51
  5. XML et XSL avec balises prefixees
    Par mamouth2005 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 07/06/2005, 14h36

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