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

XQUERY/SGBD XML Discussion :

[Technique] Mapping xml vers bases de données relationnelles


Sujet :

XQUERY/SGBD XML

  1. #1
    Membre régulier Avatar de soumou
    Inscrit en
    Juin 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 208
    Points : 102
    Points
    102
    Par défaut [Technique] Mapping xml vers bases de données relationnelles
    salut,
    je veu faire du mapping du xml vers une base de données relationnelle, est ce qu'il y a des outils open sources ou bien des API qui fassent ça ?
    Merci de votre aide

  2. #2
    Membre habitué Avatar de mamiberkof
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2005
    Messages : 290
    Points : 155
    Points
    155
    Par défaut
    Citation Envoyé par soumou
    salut,
    je veu faire du mapping du xml vers une base de données relationnelle, est ce qu'il y a des outils open sources ou bien des API qui fassent ça ?
    Merci de votre aide
    Je pense que tu devrais voir coté dbUnit une API qui fournit des méthodes d'import-export

    @
    ¤-------------------------------------------------------------------
    |لا تبكي يا بُـنية، فإن الله مانع أباك...
    | Trd :"Ne pleure pas ma petite fille, Dieu protége ton père" Le prophet Mohammed.
    | L'effet developpez.com : ->geek
    | It is man's ability to remember that sets us apart. We are the only species concerned with the past. Our memories give us voice. They bear witness to history so that others |might learn. So they might celebrate our triumphs and be warned of our failures.
    ¤-------------------------------------------------------------------

  3. #3
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut
    sinon cela ne doit pas être trop dur à écrire situ veux un exemple demande

  4. #4
    Membre régulier Avatar de soumou
    Inscrit en
    Juin 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 208
    Points : 102
    Points
    102
    Par défaut
    fraoustin a dit :
    sinon cela ne doit pas être trop dur à écrire situ veux un exemple demande
    je comprends pas ta question ?!?

  5. #5
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut
    si tu veux intégrer un fichier xml dans un base relationnelle j'ai des exemples

  6. #6
    Membre régulier Avatar de soumou
    Inscrit en
    Juin 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 208
    Points : 102
    Points
    102
    Par défaut
    fraoustin a écrit :
    si tu veux intégrer un fichier xml dans un base relationnelle j'ai des exemples
    je serais reconnaissant si tu le fais !

  7. #7
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut
    un fichier xml d'exemple
    Code : 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
    21
    22
     
    <load>
    <table name="user">
    	<name type="string">aoustin</name>
    	<forname type="string">frederic</forname>
    	<birthday type="string">04081978</birthday>
    </table>
    <table name="user">
    	<name type="string">aoustin</name>
    	<forname type="string">fabien</forname>
    	<birthday type="string">04081978</birthday>
    </table>
    <table name="user">
    	<name type="string">aoustin</name>
    	<forname type="string">sylvain</forname>
    	<birthday type="string">04081978</birthday>
    	<age type="int">12</age>
    </table>
    <table name="famille">
    	<name type="string">aoustin</name>
    </table>
    </load>
    et un programme python qui va faire des inserts
    Code : 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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    from xml.dom.minidom import *
    import os.path, os
    import MySQLdb
     
    str_sql="insert into %s set(%s) values(%s)"
    servername = '172.16.10.27'
    dbname = 'optio'
    username = 'optio'
    password = 'optio'
    portdb=3306
     
    def insert_sgbd(sql):
    	connectionObject = MySQLdb.connect(host=servername, user=username, passwd=password, db=dbname, port=portdb)
    	c = connectionObject.cursor()
    	c.query(sql)
    	connectionObject.commit()
     
    def generate_sql(node):
    	for i in node.childNodes:
    		if node.nodeType == Node.ELEMENT_NODE and i.nodeName == "table":
    			str_col = ""
    			str_val=""
    			type_val="string"
    			for j in i.childNodes:
    				if j.nodeType == Node.ELEMENT_NODE:
    					str_col = "%s,%s" % (j.nodeName, str_col)
    					if j.getAttributeNode("type").nodeName == "int":
    						type_val="int"
    					for k in j.childNodes:
    						if k.nodeType == Node.TEXT_NODE:
    							if type_val=="int":
    								str_val = "%s,%s" % (k.data, str_val)
    							else:
    								str_val = "'%s',%s" % (k.data, str_val)
    			insert_sgbd(str_sql % (i.getAttributeNode("name").nodeName,str_col[:-1], str_val[:-1]))
     
     
     
     
     
    def load(path):
    	try:
    		xmldoc = parse(path)
    		node_racine=xmldoc.documentElement
    		generate_sql(node_racine)
    	except Exception, e:
    		raise e
     
    if __name__ == "__main__":
    	load('/home/fraoustin/Desktop/essai.xml')

  8. #8
    Membre régulier Avatar de soumou
    Inscrit en
    Juin 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 208
    Points : 102
    Points
    102
    Par défaut
    Merci pour ton aide fraoustin , mais je ne sais rien sur python. est ce possible d'avoir la meme chose en java par exemple ?

  9. #9
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut
    Bon là mes compétences en java sont faibles mais je regarde

  10. #10
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Quel base utilise tu ?

    Oracle et sql server ont des outils permettant l'intégration (quasi-)directe de ficher xml

  11. #11
    Membre régulier Avatar de VinceFromBcn
    Inscrit en
    Juin 2004
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 108
    Points : 122
    Points
    122
    Par défaut
    Hello,

    Pour effectuer ça tu as des frameworks open source comme ceci:

    - Hibernate, très utilisé www.hibernate.org

    - Ibatis, actuellement sur mon projet ibatis.apache.org

    - JDO, java.sun.com/products/jdo/

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Bonjour,
    existe t'il le même système d'import/export XML/Mysql mais en utilisant PHP?
    1000 mercis d'avance

  13. #13
    Membre habitué Avatar de mamiberkof
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2005
    Messages : 290
    Points : 155
    Points
    155
    Par défaut
    Oui bien sur, SimpleXML intégré par défaut à PHP5 peut faire ce que tu demande, y a aussi Sablotron pour manipuler des fichers xml/xslt

    A+
    ¤-------------------------------------------------------------------
    |لا تبكي يا بُـنية، فإن الله مانع أباك...
    | Trd :"Ne pleure pas ma petite fille, Dieu protége ton père" Le prophet Mohammed.
    | L'effet developpez.com : ->geek
    | It is man's ability to remember that sets us apart. We are the only species concerned with the past. Our memories give us voice. They bear witness to history so that others |might learn. So they might celebrate our triumphs and be warned of our failures.
    ¤-------------------------------------------------------------------

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Merci pour la réactivité et la réponse.
    J'abuserais en demandant une version php4?

  15. #15
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 20
    Points : 12
    Points
    12
    Par défaut Mapping Relationnel/XML et Objet/XML
    Bonjour,
    je fais une recherche sur les mapper BDD Relationnelles et BDD objet vers XML.
    Est-il possible de m'orienter sur quelques modèles ?
    Mis à part Hibernate et JDBC que j'ai trouvé je veux d'autres exemples opensources.
    (je ne maitrise pas encore JAVA je suis plutôt Delphi)

    Merci pour votre aide.

Discussions similaires

  1. probleme xml vers dataset vers base de donnée
    Par bouhmid2007 dans le forum ADO.NET
    Réponses: 4
    Dernier message: 07/03/2011, 09h33
  2. [SSIS][2k5] Import depuis XML vers Base de donnée
    Par Sinclair dans le forum SSIS
    Réponses: 4
    Dernier message: 24/01/2008, 11h25
  3. xml ou base de donnée?
    Par Zeusviper dans le forum Décisions SGBD
    Réponses: 21
    Dernier message: 16/06/2006, 11h01
  4. Importation CSV vers base de données
    Par Brice Yao dans le forum Bases de données
    Réponses: 1
    Dernier message: 29/06/2005, 13h42
  5. Manipulation de XML sur base de données
    Par psyche dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 02/11/2004, 14h07

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