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 :

Insertion d'une String dans un XML


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é
    Inscrit en
    Août 2008
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 184
    Par défaut Insertion d'une String dans un XML
    Bonjour,
    J'ai un problème lors de la génération de mon xlm.
    pour ajouter un contenu à l'intérieur d'une balise parent avec la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Element.addContent(String str)
    les < et > se remplace avec &lt; et &gt;
    Merci de 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
    Il y a pas de magie, il faut construire de nouveaux objets Element, et c'est ça qu'il faut passer à addContent().
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 51
    Par défaut
    Bonjour,

    j'ai un problème similaire. Lorsque je fais un setTextContent("<(*.*<)") sur un Element, ça refuse d'écrire les "<" correctement lorsque j'affiche dans le terminal ..
    Comment faire ?

    Edit : J'utilise l'API DOM

  4. #4
    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
    C'est impossible. < sert à ouvrir une balise. Il ne peut donc pas faire autre chose.

    À la rigueur, certaines bibliothèques XML permettraient de générer

    mais ce n'est pas le cas de la bibliothèque DOM de base.

    Note : Tout cela n'a d'ailleurs aucune importance, en quoi l'apparence de ton fichier XML te soucie-t-elle ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 51
    Par défaut
    En réalité, j'aimerais créer une Node qui ressemble à ceci :

    <content> duTexteQuelconque <hr/> encoreDuTexte </content>


    Je ne veux en aucun cas mettre des "<(*.*<)" dans mon texte C'était juste pour la forme. Ca n'étais pas très précis, désolé.

    Y a-t-il une solution pour mon problème ?

    Merci

  6. #6
    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
    <hr/> est une balise, pas du texte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    node.appendChild(document.createTextNode(" duTexteQuelconque "));
    node.appendChild(document.createElement("hr"));
    node.appendChild(document.createTextNode(" encoreDuTexte "));
    Autre possibilité, un peu plus maintenable mais moins directe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    final String XML_CONTENT = "<content> duTexteQuelconque <hr/> encoreDuTexte </content>";
     
    DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
    Document contentDoc = builder.parse(new InputSource(new StringReader(XML_CONTENT)));
    Element contentNode = contentDoc.getDocumentElement();
     
    Node childNode = contentNode.getFirstChild();
    while(childNode != null) {
      document.adoptNode(childNode);
      node.appendChild(childNode);
      childNode = contentNode.getFirstChild();
    }
    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. Ajout aléatoire d'une String dans une balise XML à partir d'un tableau de String
    Par chebmo1986 dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 19/03/2009, 11h21
  2. Insertion d'une icone dans le SystemTray
    Par Vow dans le forum MFC
    Réponses: 23
    Dernier message: 25/01/2008, 14h50
  3. insertion d'une date dans visual foxpro
    Par yvescollet dans le forum Bases de données
    Réponses: 4
    Dernier message: 10/05/2005, 15h39
  4. Comment déclarer une DataSource dans server.xml
    Par guillaume06 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 16/06/2004, 14h27
  5. Réponses: 6
    Dernier message: 24/07/2003, 12h39

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