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

C# Discussion :

Sauvegarder une requete mysql en XML


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 4
    Par défaut Sauvegarder une requete mysql en XML
    Bonjour,

    Je cherche à sauvegarder une requete Mysql en xml. Pour l'instant je genere un Fichier XML mais le resultat ne me convient pas.

    voici mon code
    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
     
        if (cn.State == ConnectionState.Open)
                        {
                            cn.Close();
                        }
                        cn.Open();
                        MySqlCommand command = cn.CreateCommand();
                        DataSet myDs = new DataSet();
                        MySqlDataAdapter myDa = new MySqlDataAdapter();
                        myDa.SelectCommand = new MySqlCommand(chaine, cn);
                        myDa.Fill(myDs, "FILM");
                        MessageBox.Show(myDs.ToString());
                        FileStream myFs = new FileStream(sfd.FileName, FileMode.OpenOrCreate, FileAccess.Write) ;
                        myDs.WriteXml(myFs);
                        myFs.Close();
                        this.Close();
    et voici ce que j'obiens
    <NewDataSet>
    <film>
    <Nom_Film>Astérix - Le Secret de la Potion Magique</Nom_Film>
    <Nom_Original>Astérix - Le Secret de la Potion Magique</Nom_Original>
    <Genre>Animation / Familial / Comédie / Aventure</Genre>

    Voici mes soucis :

    -Comment ne plus avoir le problème d'accent?

    -Ne pas avoir NewDataSet au debut

    - avoir des informations de ce type au début

    <?xml version="1.0" encoding="ISO-8859-1"?>

  2. #2
    Membre Expert
    Profil pro
    Dév
    Inscrit en
    Juin 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Dév

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 165
    Par défaut
    On sait pas ce que tu obtiens comme résultat de requête

    Sinon je te conseillerais plus de transposer tes résultats en un objet et ensuite sérialiser ça en XML où tu peux indiquer ton encodage et plus avoir les problèmes d'accents.


    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
     
    public static string Serialize(XmlSerializer serializer,
                                   Encoding encoding,
                                   XmlSerializerNamespaces ns,
                                   bool omitDeclaration,
                                   object objectToSerialize)
            {
                MemoryStream ms = new MemoryStream();
                XmlWriterSettings settings = new XmlWriterSettings();
                settings.Indent = true;
                settings.OmitXmlDeclaration = omitDeclaration;
                settings.Encoding = encoding;
                XmlWriter writer = XmlWriter.Create(ms, settings);
                serializer.Serialize(writer, objectToSerialize, ns);
                string s = encoding.GetString(ms.ToArray());
                var document = XDocument.Parse(s);
     
                StringBuilder builder = new StringBuilder();
                using (TextWriter sWriter = new EncodingStringWriter(builder, encoding))
                {
                    document.Save(sWriter);
                    return builder.ToString();
                }
     
            }

    En appel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    //Utilise le iso-889-15 pour avoir le signe € c'est la même chose que l'autre en mieux 8-)
    Encoding iso = Encoding.GetEncoding("ISO-8859-15");
     
    //Remplir les propriétés de ta classe via ta requête SQL
    LaClasseQueTuSerialises o = new LaClasseQueTuSerialises();
    o.Propriete1 = "test";
    ...
     
    string s = Serialize(new XmlSerializer(typeof(LaClasseQueTuSerialises)), iso, new XmlSerializerNamespaces(), false, o);
    Console.WriteLine(s);

Discussions similaires

  1. afficher les resultats d'une requete mysql sur 3 colonnes
    Par harlock59 dans le forum Requêtes
    Réponses: 7
    Dernier message: 24/12/2005, 14h38
  2. inscrire dans un javascript les résltats d'une requete Mysql
    Par nono3000 dans le forum Général JavaScript
    Réponses: 38
    Dernier message: 23/12/2005, 14h57
  3. Afficher une requete MYSQL avec jointure
    Par Higestromm dans le forum Requêtes
    Réponses: 8
    Dernier message: 18/12/2005, 15h52
  4. résultat d'une requete mysql
    Par noinneh dans le forum MFC
    Réponses: 4
    Dernier message: 03/03/2005, 16h54

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