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 :

[XML] a partir d'une BDD


Sujet :

XQUERY/SGBD XML

  1. #1
    Inactif
    Inscrit en
    Janvier 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Janvier 2007
    Messages : 98
    Points : 70
    Points
    70
    Par défaut [XML] a partir d'une BDD
    Bonjour, je suis vraiment NOVICE en xml

    Ma question est la suivante :

    Comment extraire des données d'une base de données(je travaille avec mysql) et les mettre dans un format XML et automatiquement.
    exemple

    Id Nom Prénom
    1 Dupont Paul

    Fichier xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <id>1</id> 
    <nom>Dupont</nom> 
    <prenom>paul</prenom>

  2. #2
    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
    tu peux écrire un programme (ce qui est relativement simple) ou bien voir si mysql ne fait pas ce genre de chose en standard.
    Sinon tu peux aussi faire une requête sql qui te donne un fichier xml.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select "<tutu>"||tutu||"</tutu>" from a

  3. #3
    Inactif
    Inscrit en
    Janvier 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Janvier 2007
    Messages : 98
    Points : 70
    Points
    70
    Par défaut
    mmm désolée mais j'ai rien compris avos propositions!

  4. #4
    Membre éprouvé Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Points : 1 247
    Points
    1 247
    Par défaut
    Bonjour,

    Certaines bases de données proposent des sorties XML mais ce n'a pas l'air d'être le cas de MySQL...

    Il faut donc construire le XML "à la main", le plus simple étant sous forme de chaine de caractères même si l'utilisation des fonctions DOM est abordable.

    Il ne faut bien sûr pas oublier la racine du document XML dans une solution du style "select '<Id>'||Id||'</Id>' from Table" !

    Pour généraliser ce type de construction, je conseillerais de construire d'abord un fichier CSV des résultats de requête et d'y appliquer un programme généraliste. A toutes fins utiles, voici un extrait C# tiré du projet OpenSource que je développe (http://www.agencexml.com/txs/fr/) :
    Code C# : 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
    XmlDocument xDoc = new XmlDocument();
    xDoc.PreserveWhitespace = true;
    XmlNode root = xDoc.CreateElement("Elements");
    xDoc.AppendChild(root);
    using(StreamReader sr = new StreamReader(n.Attributes.GetNamedItem("filename").Value, Encoding.Default))
     {
       char[] sep = {';'};
       if(!sr.EndOfStream)
       {
          Regex invchar = new Regex(@"[^A-Za-z0-9;]+");
          string[] t = invchar.Replace(sr.ReadLine(), "_").Split(sep);
          while(!sr.EndOfStream)
          {
             string[] l = sr.ReadLine().Split(sep);
             XmlNode elem = xDoc.CreateElement("Element");
             root.AppendChild(elem);
             for(int i = 0; i &lt; Math.Min(l.Length, t.Length); i++)
             {
                if(l[i] != "")
                {
                   XmlNode item = xDoc.CreateElement(t[i]);
                   item.InnerText = l[i];
                   elem.AppendChild(item);
                }
             }
          }
       }
     }
    Formulaires XForms sur tous navigateurs sans extension à installer (architecture XRX) : http://www.agencexml.com/xsltforms/

Discussions similaires

  1. [MySQL] Création d'un xml à partir d'une BDD
    Par Kakon dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 13/08/2012, 19h05
  2. cration d'un fichier xml à partir d'une BDD
    Par noutazia20 dans le forum C#
    Réponses: 1
    Dernier message: 14/05/2008, 00h57
  3. Réponses: 18
    Dernier message: 08/08/2005, 20h52
  4. Réponses: 3
    Dernier message: 03/08/2005, 11h21
  5. [Listview] Remplissage à partir d'une bdd mysql
    Par Cybher dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/07/2005, 09h32

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