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 file]Lecture - ecriture :Bienvenue à votre imagination


Sujet :

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

  1. #1
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut [XML file]Lecture - ecriture :Bienvenue à votre imagination
    Bonjour à tous,

    Voilà, j'ai un petit probleme auquel je ne trouve pas reellement de solution "faisable"

    J'ai un fichier xml contenant des noeud comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <node-desc name="NomNoued1"
             //DES VALEURS (il y a ici entre 8 et 10 lignes)
    </node-desc>
    Mais des noeud yen a pas mal (50)
    Les noeuds se suivent et surtout DEUC NOEUDS NE PEUT PAS AVOIR LE MEME NOM!!!!
    Avant les noeuds, j'ai une intro ecrite en xml( configuration,...)

    A la fin des noueds, j'ai aussi de la config.

    Le fichier se presente donc comme suite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    INTRO
     
    NOEUD 1
     
    NOEUD 2
    ...
    </node-types> //Ca c'est le code qui permet de commencer la config
    CONFIG
    J'ai ecrit un petit programme qui vien ajouter un noeud.
    Mais voilà, il faut verifier que le noeud ne soit pas =.
    1/ Si il est !=, alors on va apres le dernier noeud (mais avant la config) et on ecrit le code.
    2/ Si il est ==, alors on doit prendre TOUT le noeud ayant le meme nom, le supprimer et ensuite réécrire à la fin des neoud.
    Pour le premier cas, je ne sais pas trop comment faire à part chercher ds le fichier
    <node-desc name"
    Qd je trouve ca, je prends ce qu'il y a entre <node-desc name=" et ", j'aurais ainsi le nom (mais comment faire)
    Une fois que j'ai le nom, je sais comparer, ca c'est facile

    ds le deuxieme cas, on dois prendre le noeud, ca aussi je sais faire normalement (suffit de prendre entre <node-desc name="NomNoued1" et </node-desc> et ensuite réecrire.

    Donc je demande votre aide pour savoir prendre entre <node-desc name=" et " pour comparer les noms noeuds. MERCI

  2. #2
    Membre chevronné Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Par défaut
    Bonsoir,

    Avec le XML-Schéma, tu peux définir des contraintes sur clefs, c'est à dire par exemple chaque attribut name de la balise <toto> soit différent.

    En java 1.5, tu peux lancer la validation d'un document XML par rapport à son XML-Schéma.


    Je ne sais pas si ca t'es utile car je n'ai pas compris à 100% ton problème.


    Billy

  3. #3
    Membre éprouvé Avatar de Xavinou
    Inscrit en
    Mai 2005
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 135
    Par défaut
    1 solution assez simple à mettre en oeuvre :
    - Créer une DTD (ou un schéma) validant ton document et déclarant ton attribut "name" comme étant de type ID.
    - Parser ton document pour construire un DOM. Tu pourras utiliser la méthode getElementById(String id) pour retrouver un élément à partir de la valeur de son attribut "name". Ensuite l'API DOM propose tout ce qu'il te faut pour mettre à jour ton document.
    - Sérialiser ton document pour sauver le tout dans ton fichier.

    Bon courage !

Discussions similaires

  1. Lecture Ecriture XML avec données unicode
    Par Rupella dans le forum Général Python
    Réponses: 3
    Dernier message: 15/09/2009, 12h30
  2. Chargement - lecture - ecriture XML
    Par Yoann29 dans le forum Flex
    Réponses: 5
    Dernier message: 07/04/2009, 10h17
  3. Réponses: 2
    Dernier message: 29/07/2008, 21h00
  4. Lecture/Ecriture d'un fichier XML
    Par andlio dans le forum Windows
    Réponses: 2
    Dernier message: 18/01/2007, 20h15
  5. [File]Lecture/Ecriture
    Par sroux dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 16/08/2006, 17h42

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