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

Persistance des données Java Discussion :

[XML->Dataset] Est-ce possible ?


Sujet :

Persistance des données Java

  1. #1
    Membre chevronné
    Avatar de stailer
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mars 2003
    Messages
    1 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 136
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    3
    Par défaut [XML->Dataset] Est-ce possible ?
    (question déjà posée dans le "général java"... Après j'abandonne :( )

    Bonjour,

    voila 1 semaine que j'essaye de bosser sur les fichiers xml.
    Après beaucoup de code et d'astuces, j'arrive très bien à créer un nouveau fichier XML (avec Castor) et à le lire dans tous les sens (dom4j, Xpath).

    Il me reste cependant un souci : l'ajout et modification dans un fichier XML déjà crée.

    En lisant des sujets sur .Net je me suis aperçu qu'on pouvait "envoyer" un XML dans un dataset, et traiter ce dernier comme une base de données... Tout ça en 4 lignes de codes. Donc ca m'a un peu énervé.

    Alors voila ma question :

    - Peut on faire la même choses en Java ?
    Si oui, comment ? (j'ai JBuilder X)
    Si non, pourquoi ? :wink:

    Merci pour vos réponses, j'arrive à trouver très peu d'infos à ce sujet.
    .o0o__St@iLeR__oOo.

    Lead Developer

    ASP.NET MVC - MCP/MCSD ASP.NET
    PHP Zend Framework / PhalconPHP
    Cordova/Xamarin IOS/Android
    Kendo UI - ExtJS - JQwidgets
    SQL Server / MySQL

  2. #2
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    oui facilement avec DOM4J , tu crée ton DOM en construisant un reader en lui passant en parametre ton fichier existant, tu modifie, et tu sauve en ecrasant l'ancien fichier.

  3. #3
    Membre chevronné
    Avatar de stailer
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mars 2003
    Messages
    1 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 136
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    3
    Par défaut
    salut,

    j'ai eu également une réponse sur le forum général... avec la même mention que toi : "facile !!".

    Je comprends pas... Je dois rater un truc. A force de perséverer j'arrive à lire avec Dom4j, à faire du XPath, à utiliser Castor et même à créer des schemas et XSL. la totale...

    SAUF -> Ajouter une ligne modifier.

    Tu pourrais me donner un exemple concret ?
    Par exemple comment rajouter une ligne dans ce cas :

    afin d'avoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <a>
      <aaaa>
      <bbbb>
    </a>
    Merci pour ton aide, et je vais revoir encore une fois la doc...
    .o0o__St@iLeR__oOo.

    Lead Developer

    ASP.NET MVC - MCP/MCSD ASP.NET
    PHP Zend Framework / PhalconPHP
    Cordova/Xamarin IOS/Android
    Kendo UI - ExtJS - JQwidgets
    SQL Server / MySQL

  4. #4
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    tu récuperes ton noeud <aa>


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            Element aa= document.getSingleNode( "/aa" );
    // ou un truc du genre je me rapelle pas ca par coeur
     
            Element aaa= aa.addElement( "aaa" )
                .addAttribute( "toto", "myValue" ) // facultatif
                .addText( "TOTO" ); // facultatif
    Et tu obtiens

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <aa>
     <aaa toto="myValue">TOTO</aa>
    </aa>
    c'est l'exemple le plus complet ave attribut et valeur de texte

    @+

  5. #5
    Membre chevronné
    Avatar de stailer
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mars 2003
    Messages
    1 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 136
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    3
    Par défaut
    Ok je teste ça ce soir... Mais on est bien d'accord que si j'avais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <aa> 
     <aaa toto="myValueA">TOTO</aa> 
    </aa>
    Alors avec ton exemple j'aurai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <aa> 
     <aaa toto="myValueA">TOTO</aa> 
     <aaa toto="myValue">TOTO</aa> 
    </aa>
    Car tout le problème est la...
    .o0o__St@iLeR__oOo.

    Lead Developer

    ASP.NET MVC - MCP/MCSD ASP.NET
    PHP Zend Framework / PhalconPHP
    Cordova/Xamarin IOS/Android
    Kendo UI - ExtJS - JQwidgets
    SQL Server / MySQL

  6. #6
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    oui


    sinon lis le cookbook

    Inserting elements
    Somethimes it's necessary to insert an element somewhere in a existing XML Tree. As dom4j is based on Collection API this causes no problems. The following expample shows how it could be done.


    public void insertElementAt(Element newElement, int index) {
    Element parent = this.element.getParent();
    List list = parent.content();
    list.add(index, newElement);
    }

    public void testInsertElementAt() {

    //insert an clone of current element after the current element
    Element newElement = this.element.clone();
    this.insertElementAt(newElement, this.root.indexOf(this.element)+1);

    // insert an clone of current element before the current element
    this.insertElementAt(newElement, this.root.indexOf(this.element));
    }

    Studying the Collection API should lead to more solutions for similar problem and you will notify that dom4j fits well in the Collection Framework and both complement each other in order to processing xml document in a comfortable way.
    ca devrait t'aider

  7. #7
    Membre chevronné
    Avatar de stailer
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mars 2003
    Messages
    1 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 136
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    3
    Par défaut
    Salut,

    je te remerci beaucoup pour ton aide et je mets ton code de côté..
    Pour l'heure, la mise à jour et l'ajout d'éléments/attributs dans mon fichier XML est plus facile pour moi en passant par BorlandXML et Dom4j.

    Je garde néanmoins Dom4j pour la lecture.

    A++
    .o0o__St@iLeR__oOo.

    Lead Developer

    ASP.NET MVC - MCP/MCSD ASP.NET
    PHP Zend Framework / PhalconPHP
    Cordova/Xamarin IOS/Android
    Kendo UI - ExtJS - JQwidgets
    SQL Server / MySQL

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 01/03/2007, 15h13
  2. [MS-DOS] Est-il possible d'ecrire ds un fichier XML
    Par TEXMEX dans le forum Scripts/Batch
    Réponses: 6
    Dernier message: 22/02/2006, 10h15
  3. Réponses: 5
    Dernier message: 07/11/2005, 11h11
  4. Est-ce possible XML Word => XML
    Par Tonton Luc dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 04/10/2004, 09h15
  5. [XML dataset] est-ce possible en Java ?
    Par stailer dans le forum Persistance des données
    Réponses: 7
    Dernier message: 06/05/2004, 13h47

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