1. #1
    Nouveau Candidat au Club
    Inscrit en
    avril 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : avril 2004
    Messages : 5
    Points : 1
    Points
    1

    Par défaut [Mysql] Donnée XML >vers> BDD

    Bonjour,

    Je voudrai bien insérer mes données du fichier XML vers ma base de donnée.

    bouks.xml

    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
    <?xml version="1.0" encoding="iso-8859-1"?>
    <?xml:stylesheet type="text/xsl" href="books.xsl"?>
    <books>
    	<book>
        	<title>Dilbert</title>
    	    <author>Scott Adams</author>
    		<price>13</price>
    	</book>
    	<book>
        	<title>Le seigneur des anneaux</title>
    	    <author>J.R.R Tolkien</author>
    		<price>12.50</price>
    	</book>
    	<book>
        	<title>Harry Potter à l'ecole des sorciers</title>
    	    <author>J.K. Rowling</author>
    		<price>8.54</price>
    	</book>
    	<book>
        	<title>les misérables</title>
    	    <author>Victor Higo</author>
    		<price>7.50</price>
    	</book>
    </books>
    books.xsl

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="iso-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:template match="books/book">
    			<xsl:text> INSERT INTO books (title, author, price) VALUES ( </xsl:text>
    			<xsl:value-of select="title"/>
    			<xsl:text>, </xsl:text>
    			<xsl:value-of select="author"/>
    			<xsl:text>, </xsl:text>
    			<xsl:value-of select="price"/>
    			<xsl:text> </xsl:text>
    			<xsl:text>);</xsl:text><br/> 		
    	</xsl:template>
    </xsl:stylesheet>
    execution du books.xml est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO books (title, author, price) VALUES ( Dilbert, Scott Adams, 13 );
    INSERT INTO books (title, author, price) VALUES ( Le seigneur des anneaux, J.R.R Tolkien, 12.50 );
    INSERT INTO books (title, author, price) VALUES ( Harry Potter à l'ecole des sorciers, J.K. Rowling, 8.54 );
    INSERT INTO books (title, author, price) VALUES ( les misérables, Victor Higo, 7.50 );
    Mais je voudrais bien inserer mes données dans ma table.
    Comment puis-je faire ??

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    juin 2003
    Messages
    6 216
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 6 216
    Points : 10 044
    Points
    10 044

    Par défaut

    tu utilise quoi pour faire ta transformation ?

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    avril 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : avril 2004
    Messages : 5
    Points : 1
    Points
    1

    Par défaut

    Bonjour,

    Normalement j'utilise le php et mysql?

    Merci pour aide.

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    juin 2003
    Messages
    6 216
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 6 216
    Points : 10 044
    Points
    10 044

    Par défaut

    je vois 2 possibilités mais je ne pourrais pas te dire laquelle est la plus performante
    1) tu mets le contenu de la transformation dans un fichier temporaire et tu exécute "mysql < fichier.sql"
    2) tu découpes pour envoyer les requêtes une après l'autre avec les fonctions php "mysql_..."

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    avril 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : avril 2004
    Messages : 5
    Points : 1
    Points
    1

    Par défaut

    Bonjour Mathix,

    Merci pour ta réponse.

    Est ce que tu pourras bien m'expliquer la deuxieme proposition, en faite je travaille sous phpmyadmin.

    Si c'est possible avec exemple.


  6. #6
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    juin 2003
    Messages
    6 216
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 6 216
    Points : 10 044
    Points
    10 044

    Par défaut

    phpMyAdmin ? tu veux juste insérer une seule fois le contenu du fichier ou bien tu veux faire un programme en PHP qui fait ca régulièrement

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    avril 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : avril 2004
    Messages : 5
    Points : 1
    Points
    1

    Par défaut

    J'ai besoin d'un prg qui insere les données regulierement

  8. #8
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    juin 2003
    Messages
    6 216
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 6 216
    Points : 10 044
    Points
    10 044

    Par défaut

    pas de problème, c'est faisable 8) 8) 8)

    1ère étape : utilise PHP pour faire la transformation XSL
    tu trouvera un exemple de code PHP qui fait ca à l'adresse suivante :
    http://bob.developpez.com/phpxslt/

    2ème étape : toujours en PHP : tu fait une des 2 possibilités que je t'ai proposé ci dessus

    comme tu vois tout ce fait en PHP, c'est un peu hors sujet ici donc jette un coup d'oeil sur la partie PHP de developpez.com


    correction au sujet de ta transformation :
    en mysql tu dois entrourer les chaines de caractères par " ou '

  9. #9
    Nouveau Candidat au Club
    Inscrit en
    avril 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : avril 2004
    Messages : 5
    Points : 1
    Points
    1

    Par défaut

    Merci pour ta réponse,

    je visiterai lien que tu m'a communiqué, et je te dirai apres, est ce c'est resolu ou non.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    correction au sujet de ta transformation : 
    en mysql tu dois entrourer les chaines de caractères par " ou '
    T'as raison, je le rectifierai, merci encore.

    Donc, à plus tard

  10. #10
    Candidat au Club
    Inscrit en
    mars 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : mars 2009
    Messages : 2
    Points : 2
    Points
    2

    Par défaut

    Bonsoir, j'éssay aussi de faire la transformation d'un fichier XML vers une base de données, si vous pouvez bien m'indiquer comment vous l'avez fait ,je serai reconaissante.

  11. #11
    Nouveau Candidat au Club
    Développeur informatique
    Inscrit en
    juillet 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Âge : 30

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : juillet 2009
    Messages : 1
    Points : 1
    Points
    1

    Par défaut Transformation XML to JAVA

    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
    import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.StringReader;
    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.JDOMException;
    import org.jdom.input.SAXBuilder;
    import org.w3c.dom.*;
     
     
    private BufferedReader fileReader;
     
    fileReader = new BufferedReader(new FileReader("C:/teste.txt"));
     
    String line = fileReader.readLine();
    if (line!=null)
    {
    	line=fileReader.readLine();
    	if (line==null)
    	{
    		return null;
    	}
    	Document xmdoc = new SAXBuilder().build(new StringReader(line));
    	return xmdoc;
    } else
    {
    	return null;
    }
    // xmdoc retourné c'est le document transformé en XML ,maintenant vous pouvez travailler et traiter xmdoc comme un document XML càd (possibilité d'appliquer les fonctions Element racine = xmdoc.getRootElement() ou getChildText ou .getAttributeValue("livre") .... pour extraire les données depuis le fichier xml qui été au début un fichier texte) (Enjoy )

    ::anaMario::

  12. #12
    Candidat au Club
    Inscrit en
    janvier 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : janvier 2010
    Messages : 3
    Points : 4
    Points
    4

    Par défaut génération fichier sql depuis un fichier xml

    Bonjour,
    J'essaie également de faire la transformation de fichier xml pour générer les requêtes sql afin de l'envoyer dans ma bas de donnée MYSQL,

    seul hic mon fichier xml est vraiment moche il n'est pas structuré je n'ai pas de xsl. donc là je sais pas trop comment faire


    je comprends pas aussi c'est pas xsl qui permet de faire la transformation c'est xslt non?


    j'ai une autre question aussi xslt permet il de parser les fichiers comme DOM ET SAX ?


    merci

  13. #13
    Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    juin 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2015
    Messages : 1
    Points : 2
    Points
    2

    Par défaut

    Citation Envoyé par largiss Voir le message
    Bonjour,

    Je voudrai bien insérer mes données du fichier XML vers ma base de donnée.

    bouks.xml

    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
    <?xml version="1.0" encoding="iso-8859-1"?>
    <?xml-stylesheet type="text/xsl" href="books.xsl"?>
    <books>
    	<book>
        	<title>Dilbert</title>
    	    <author>Scott Adams</author>
    		<price>13</price>
    	</book>
    	<book>
        	<title>Le seigneur des anneaux</title>
    	    <author>J.R.R Tolkien</author>
    		<price>12.50</price>
    	</book>
    	<book>
        	<title>Harry Potter à l'ecole des sorciers</title>
    	    <author>J.K. Rowling</author>
    		<price>8.54</price>
    	</book>
    	<book>
        	<title>les misérables</title>
    	    <author>Victor Higo</author>
    		<price>7.50</price>
    	</book>
    </books>
    books.xsl

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="iso-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:template match="books/book">
    			<xsl:text> INSERT INTO books (title, author, price) VALUES ( </xsl:text>
    			<xsl:value-of select="title"/>
    			<xsl:text>, </xsl:text>
    			<xsl:value-of select="author"/>
    			<xsl:text>, </xsl:text>
    			<xsl:value-of select="price"/>
    			<xsl:text> </xsl:text>
    			<xsl:text>);</xsl:text><br/> 		
    	</xsl:template>
    </xsl:stylesheet>
    execution du books.xml est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO books (title, author, price) VALUES ( Dilbert, Scott Adams, 13 );
    INSERT INTO books (title, author, price) VALUES ( Le seigneur des anneaux, J.R.R Tolkien, 12.50 );
    INSERT INTO books (title, author, price) VALUES ( Harry Potter à l'ecole des sorciers, J.K. Rowling, 8.54 );
    INSERT INTO books (title, author, price) VALUES ( les misérables, Victor Higo, 7.50 );
    Mais je voudrais bien inserer mes données dans ma table.
    Comment puis-je faire ??
    Juste une petite correction dans le code xml, ligne 2 : xml-stylesheet avec un -

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    avril 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2012
    Messages : 2
    Points : 2
    Points
    2

    Par défaut

    Citation Envoyé par JMLIT Voir le message
    Juste une petite correction dans le code xml, ligne 2 : xml-stylesheet avec un -
    Merci ! En effet, sans cette correction le code plante : Avis aux autres

  15. #15
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : février 2017
    Messages : 1
    Points : 1
    Points
    1

    Par défaut

    salut svp comment je peux inserer un document xml dans la base de donnee en utilisant JAVA

Discussions similaires

  1. Exporter des données de Excel vers une BDD access
    Par dounia.er dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 28/08/2012, 13h50
  2. Insertion de données xml dans bdd mysql
    Par mathcanto dans le forum PHP & MySQL
    Réponses: 2
    Dernier message: 28/01/2010, 10h56
  3. importation des données vers une BDD Mysql
    Par moabomotal dans le forum Requêtes
    Réponses: 2
    Dernier message: 16/12/2006, 21h03
  4. [XML][MYSQL] Importation données XML vers BDD MySql
    Par Ben-o dans le forum XQUERY/SGBD
    Réponses: 2
    Dernier message: 04/05/2006, 18h13
  5. Pb d'importation de données XML vers Access 2003
    Par thomasesteve dans le forum Access
    Réponses: 2
    Dernier message: 27/02/2006, 15h28

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