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

JDBC Java Discussion :

Intégrer le contenu d'un XML dans une base de données


Sujet :

JDBC Java

  1. #1
    Candidat au Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2012
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Intégrer le contenu d'un XML dans une base de données
    bonjour,
    dans mon projet je travaille avec des fichiers XML , je veux remplir ma base de donnée avec les informations des fichiers XML , j'ai une collection de fichiers XML
    et dans ma base de donnée il y a une table document un autre balise, élément, terme , attribut comment je vais faire pour pouvoir remplir ma base de donnée après avoir parcouru les fichiers XML.

    merci

  2. #2
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    En java il faut que tu stockes ton xml en mémoire et que tu le parcours avec des requêtes XPATH ou en utilisant les méthodes disponible.

    Pour cela regarde DOM.

    Une fois que tu as tes données c'est du JDBC.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  3. #3
    Candidat au Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2012
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    j'ai utiliser JDOM et je suis arrivé à récupérer les noms des éléments (noeuds) du fichier XML et le texte des noeuds feuilles mais mon pb c que je n'arrive pas à récupérer les chemin de l'élément si on prend cet exemple
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?xml version="1.0" encoding="UTF-8"?>
    <personnes>
       <etudiant classe="P2">
          <nom>CynO</nom>
          <prenoms>
             <prenom>Nicolas</prenom>
             <prenom>Laurent</prenom>
          </prenoms>
       </etudiant>
       <etudiant classe="P1">
          <nom>Superwoman</nom>
       </etudiant>
       <etudiant classe="P1">
          <nom>Don Corleone</nom>
       </etudiant>
       <enseignant>
         <nom>catrine</nom>
       </enseignant>
     
    </personnes>

    je veux avoir le chemin de chaque noeud donc par exemple pour le noeud prenom on aura : personnes//etudiant//prenoms//prenom
    et pour le noeud enseignant: personnes//enseignant
    je veux avoir ça comme résultat pour chaque noeud du fichier XML parce que ce chemin c'est l'identifiant le élément dans la base de donnée.
    je ne sais pas comment faire merci beaucoup pour votre aide.

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Sur l'api JDOM, sur chaque Element, tu as un getChildren() pour avoir tout ses enfant. Avec ça, plus qu'à construire une méthode récursive pour remplir la liste des noms de noeuds. En tout cas, il n'y a rien d'automatique, faut te retrousser les manches.

  5. #5
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    Je suis d'accord ^_^.

    aller pour t'aider un peu, c'est une boucle qui parcourt tes noeuds.
    Mais effectivement si tu veux des requêtes un peu particulière il va falloir de la récursivité.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    List<Element> liste = racine.getChildren();
    Iterator<Element> i = liste .iterator();
     
    while(i.hasNext()){
    Element courant = (Element)i.next();
    System.out.println(courant.getChild("Noeud").getText());
    }
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  6. #6
    Candidat au Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2012
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    voici le code que j'ai pour récupérer les noeuds du fichiers et même le texte des noeuds feuilles mais je ne sais pas où mettre le code pour récupérer le chemin des noeuds
    import org.jdom.* ;
    import org.jdom.input.* ;
    import java.io.IOException ;
    import java.util.* ;
    public class Explore
    {
    public static void main (String [] args)
    {
    SAXBuilder builder = new SAXBuilder () ;
    try {
    Document doc = builder.build ("Exercice2.xml") ;
    //document = sxb.build(new File("Exercice2.xml"));
    Explore ex = new Explore () ;
    int n_tot_feuille= 0;
    System.out.println (ex.XML2String (doc.getRootElement ())) ;
    } catch (JDOMException e) {
    /* Erreur de syntaxe */
    } catch (IOException e) {
    /* Erreur d’I/O */
    }
    }

    /* Transforme un fichier XML en son arbre sous-jacent
    ´etiquet´e par les noms des ´el´ements */

    public String XML2String (Element current)
    {
    String f="";
    String s1 = current.getName () ;
    List children = current.getChildren () ;
    Iterator it = children.iterator () ;
    if (!it.hasNext ())
    {
    /* current est une feuille */
    System.out.println(current.getText());
    return s1 ;
    }
    else
    {
    current = (Element) it.next () ;
    String s2 = XML2String (current) ;
    while (it.hasNext ()) {
    s2 += "," ;
    current = (Element) it.next () ;
    s2 += XML2String (current) ;
    }
    return s1 + "(" + s2 + ")" ;
    }
    }
    }
    aidez moi svp

Discussions similaires

  1. intégrer les données d'un fichier XML dans une base de données Oracle 11
    Par pmboutteau dans le forum Persistance des données
    Réponses: 2
    Dernier message: 07/03/2014, 09h55
  2. [MySQL] Importer XML dans une base de données
    Par stardeus dans le forum XQUERY/SGBD
    Réponses: 17
    Dernier message: 12/07/2011, 11h14
  3. Réponses: 1
    Dernier message: 09/05/2006, 12h00
  4. Intégration des fichier XML dans une base de données MySQL
    Par bebemoundjou dans le forum XQUERY/SGBD
    Réponses: 8
    Dernier message: 25/11/2005, 22h41
  5. Champs de type XML dans une base de données
    Par Flocodoupoil dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 07/07/2004, 18h57

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