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 :

Cloner un noeud XML en fonction d'un attibut [DOM]


Sujet :

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

  1. #1
    Candidat au Club
    Développeur Java
    Inscrit en
    Juillet 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2011
    Messages : 3
    Par défaut Cloner un noeud XML en fonction d'un attibut
    Bonjour,

    Mon problème est le suivant :

    Je veux cloner des éléments document XML en fonction des attributs max des nœuds.

    par exemple :

    <père min = "0" max = "2" >
    <fils min = "0" max = "3"></fils>
    </père>

    Dans cet exemple je voudrais que le document XML de sortie soit le suivant:

    <père min = "0" max = "2" >
    <fils min = "0" max = "3"></fils>
    <fils min = "0" max = "3"></fils>
    <fils min = "0" max = "3"></fils>
    </père>
    <père min = "0" max = "2" >
    <fils min = "0" max = "3"></fils>
    <fils min = "0" max = "3"></fils>
    <fils min = "0" max = "3"></fils>
    </père>

  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 n'y a pas de formule magique.

    Avec le DOM fourni avec Java, cloneNode(true) va te cloner un élément et tout ce qu'il contient, ce qui te permettra de l'ajouter à côté de celui que tu viens de cloner. En JDOM, c'est clone() qui le fait.


    Reste donc à faire ça sur tous les éléments, en tenant compte du fait que tu ajoutes de nouveaux éléments au fur et à mesure (donc mettre au point un algorithme qui sait si les éléments ajoutés ont déjà eu leur contenu cloné, et si non, qui va cloner leur contenu.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Candidat au Club
    Développeur Java
    Inscrit en
    Juillet 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2011
    Messages : 3
    Par défaut
    merci , par contre j'ai une boucle infinie

    le programme principal vérifie si il le frère suivant n'est pas identique

    puis il appelle une fonction de réplication dans une classe à part:

    elle prend en paramètre le nœud à cloner et la valeur max.

    déclaration de la variable d'initialisation
    tant que la variable d'initialisation n'as pas atteint max:

    stocker le clone dans une variable
    si il y a un frère insérer le clone avant le frère
    sinon ajouter un dernier enfant au père du nœud passé en argument
    incrémenter variable d'initialisation

    fin de la fonction


    puis dans le programme je fais appel a mon transformer JAXP

  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
    Bien sûr, il faut aussi se demander où on va reprendre une fois qu'on a fini d'insérer les clones. Il ne faut pas appliquer la même méthode à un élément qu'on vient d'insérer, il faut les passer.

    Ce ne sont pas les approches qui manquent.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Candidat au Club
    Développeur Java
    Inscrit en
    Juillet 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2011
    Messages : 3
    Par défaut
    Merci beaucoup , c'est résolu , la condition de sortie n'étais pas au bon endroit

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 04/08/2011, 19h00
  2. [Ajout noeud xml] comment ça marche?
    Par noobiewan kenobi dans le forum Format d'échange (XML, JSON...)
    Réponses: 37
    Dernier message: 19/07/2007, 22h46
  3. [msxml]noeuds XML: Entity Reference
    Par ep31 dans le forum Valider
    Réponses: 4
    Dernier message: 04/11/2005, 17h24
  4. Réponses: 3
    Dernier message: 01/04/2005, 09h37
  5. XSL ne parvient pas à lire les noeuds XML ??
    Par yahn dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 27/06/2004, 19h29

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