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

VB.NET Discussion :

Création d'un fichier XML


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mai 2009
    Messages : 99
    Par défaut Création d'un fichier XML
    Bonjour à tous !

    Je travaille dans le cadre de mon stage dans un hopital sur un logiciel qui gère la configuration des switchs.

    Actuellement je travaille sur une exportation de la base de donnée MySQL dans un fichier XML afin de pouvoir posseder les données en local sur le poste sans avoir à lancer de démons pour faire tourner une éventuelle BDD locale sur les postes qui vont utiliser le logiciel.

    Je galère un peu : j'arrive bel et bien à récuperer les données sur ma base MySQL, mais quand je créé le fichier XML je me retrouve avec un résultat comme celui ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    - <ListeSwitch>
    - <Switch>
      <Type /> 
      <Secteur /> 
      <Localite /> 
      <Constructeur /> 
      </Switch>
      </ListeSwitch>
    J'ai passé toute l'après midi d'hier dessus en vain et une bonne partie de la matinée.
    Je me permet donc de psoter une demande d'aide sur ce forum pour que quelqu'un entende mon cri de detresse et saura peut-être m'apporter la solution

    Voici le code de ma fenêtre :

    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
     
        '---------------------------------------------------------------------
        'Déclaration des variables publiques utilisées pour les requêtes du formulaire
        '---------------------------------------------------------------------
        Dim taille As Integer
        Dim indice As Integer
        Dim strswitch As String
        Dim myConnection As New System.Data.Odbc.OdbcConnection
        Dim MyCommand1 As New System.Data.Odbc.OdbcCommand
        Dim MyCommand2 As New System.Data.Odbc.OdbcCommand
        Dim MyCommand3 As New System.Data.Odbc.OdbcCommand
        Dim MyCommand4 As New System.Data.Odbc.OdbcCommand
        Dim enregistrer As New System.Data.Odbc.OdbcCommand
        Dim myReaderType1 As System.Data.Odbc.OdbcDataReader
        Dim myReaderType2 As System.Data.Odbc.OdbcDataReader
        Dim myReaderType3 As System.Data.Odbc.OdbcDataReader
        Dim myReaderType4 As System.Data.Odbc.OdbcDataReader
     
        Private Sub btn_export_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_export.Click
            Dim i As Integer
     
            '------------------------------------------------------
            ' Création du fichier XML
            '------------------------------------------------------
     
            Dim xmlexport As Xml.XmlDocument = New Xml.XmlDocument()
            xmlexport.LoadXml("<ListeSwitch>  </ListeSwitch>")
     
            '------------------------------------------------------
            'Création et définition des balises XML
            '------------------------------------------------------
            Dim elemswitch As Xml.XmlElement
            Dim coltypeswitch As Xml.XmlElement
            Dim colsecteurswitch As Xml.XmlElement
            Dim collocswitch As Xml.XmlElement
            Dim colconstructeur As Xml.XmlElement
     
            elemswitch = xmlexport.CreateElement("Switch")
            coltypeswitch = xmlexport.CreateElement("Type")
            colsecteurswitch = xmlexport.CreateElement("Secteur")
            collocswitch = xmlexport.CreateElement("Localite")
            colconstructeur = xmlexport.CreateElement("Constructeur")
     
            '---------------------------------------------------------------------
            'Définition de la chaîne de connection à la base de donnée Intranet
            '---------------------------------------------------------------------
     
            myConnection.ConnectionString = ConfigBDD.lbl_connectstring.Text
     
            '---------------------------------------------------------------------
            'Définition des requêtes qui rammèneront le résultat à inclure dans le XML
            '---------------------------------------------------------------------
     
            MyCommand1.CommandText = "select modele_mat from materiel where type_mat ='ELEMENT_ACTIF' and sortie = 0 order by num_mat asc"
            MyCommand2.CommandText = "select secteur from materiel where type_mat ='ELEMENT_ACTIF' and sortie = 0 order by num_mat asc"
            MyCommand3.CommandText = "select localisation from materiel where type_mat ='ELEMENT_ACTIF' and sortie = 0 order by num_mat asc"
            MyCommand4.CommandText = "select constructeur from materiel where type_mat ='ELEMENT_ACTIF' and sortie = 0 order by num_mat asc"
     
     
            '------------------------------------------------------
            'Définition des liens de parenté entre les balises parents/enfants
            '------------------------------------------------------
     
            elemswitch.AppendChild(coltypeswitch)
            elemswitch.AppendChild(colsecteurswitch)
            elemswitch.AppendChild(collocswitch)
            elemswitch.AppendChild(colconstructeur)
            xmlexport.DocumentElement.AppendChild(elemswitch)
     
            '---------------------------------------------------------------------
            'Execution des requêtes et insertion des donées dans les listes
            '---------------------------------------------------------------------
            MyCommand1.Connection = myConnection
            MyCommand1.Connection.Open()
            myReaderType1 = MyCommand1.ExecuteReader(CommandBehavior.CloseConnection)
            i = 1
            If myReaderType1.HasRows = True Then
                While myReaderType1.Read
                    List_modelemat.Items.Add(myReaderType1.GetString(0))
                End While
            End If
            MyCommand1.Connection.Close()
     
     
     
            MyCommand2.Connection = myConnection
            MyCommand2.Connection.Open()
            myReaderType2 = MyCommand2.ExecuteReader(CommandBehavior.CloseConnection)
            i = 1
            If myReaderType2.HasRows = True Then
                While myReaderType2.Read
                    List_secteur.Items.Add(myReaderType2.GetString(0))
                End While
            End If
            MyCommand2.Connection.Close()
     
     
     
            MyCommand3.Connection = myConnection
            MyCommand3.Connection.Open()
            myReaderType3 = MyCommand3.ExecuteReader(CommandBehavior.CloseConnection)
            i = 1
            If myReaderType3.HasRows = True Then
                While myReaderType3.Read
                    List_loca.Items.Add(myReaderType3.GetString(0))
                End While
            End If
            MyCommand3.Connection.Close()
     
     
     
            MyCommand4.Connection = myConnection
            MyCommand4.Connection.Open()
            myReaderType4 = MyCommand4.ExecuteReader(CommandBehavior.CloseConnection)
            i = 1
            If myReaderType4.HasRows = True Then
                While myReaderType4.Read
                    List_constructeur.Items.Add(myReaderType4.GetString(0))
                End While
            End If
            MyCommand4.Connection.Close()
     
            '---------------------------------------------------------------------
            'Remplissage du fichier XML à partir des listes.
            '---------------------------------------------------------------------
            taille = List_constructeur.Items.Count
            indice = 1
            For Me.indice = 1 To (taille - 1)
     
                elemswitch = xmlexport.CreateElement("Switch")
                elemswitch.InnerText = Str(indice)
                coltypeswitch = xmlexport.CreateElement("Type")
                coltypeswitch.InnerText = List_modelemat.Items(index:=indice)
                colsecteurswitch = xmlexport.CreateElement("Secteur")
                colsecteurswitch.InnerText = List_secteur.Items(index:=indice)
                collocswitch = xmlexport.CreateElement("Localite")
                collocswitch.InnerText = List_loca.Items(index:=indice)
                colconstructeur = xmlexport.CreateElement("Constructeur")
                colconstructeur.InnerText = List_constructeur.Items(index:=indice)
     
            Next indice
     
     
     
     
     
            '---------------------------------------------------------------------
            'Sauvegarde du fichier XML dans le repertoire du programme et avertissement
            '---------------------------------------------------------------------
            xmlexport.Save("c:\SwitchXML.XML")
            MsgBox("Fichier XML enregistré avec succès dans le repertoire du programme")
    Pour résumer , je créé le schéma de mon fichier XML , j'importe les donnée de la BDD MySQL dans des listbox , puis je parcours ces listbox pour les integrer dans mon XML avec un FOR.


    Voilà merci d'avance à ceux qui m'auront lus

    PS : très interessant comme stage mais chaud pour une première année de BTS

  2. #2
    Membre chevronné
    Inscrit en
    Octobre 2005
    Messages
    400
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 400
    Par défaut
    Je te conseillerai d'écrire des classes de transports (peut être en dispose tu déjà), de récupérer les données en bases et de les mettres ces classes de transports, et de les sérialisé ensuite en Xml. Si tu veux un ex, je peux t'écrire un bout de code

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mai 2009
    Messages : 99
    Par défaut
    Bonjour et merci d'avoir répondu et lu aussi vite

    Pour mes classes de transport je ne pense pas en avoir utilisé : tout ce qui se rapporte à ma tentative de XML ce trouve dans le code plus haut.

    Je vais essayer de trouver de la doc sur internet pour ce qui est des classes de tranport bien que pour le moment je trouve surtout des offres d'emploi de chauffeur poids lourds

    Je vais tenter de réussir par moi même, mais si un petit bout de code éxpliquant ou un lien vers un tuto ou de la doc existe je ne le renierais pas non plus

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mai 2009
    Messages : 99
    Par défaut
    Le problème doit sans doute venir du type de donnée des balises filles :
    lorsque je met les lignes suivantes en commentaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            coltypeswitch = xmlexport.CreateElement("Type")
            elemswitch.AppendChild(coltypeswitch)
            colsecteurswitch = xmlexport.CreateElement("Secteur")
            elemswitch.AppendChild(colsecteurswitch)
            collocswitch = xmlexport.CreateElement("Localite")
            elemswitch.AppendChild(collocswitch)
            colconstructeur = xmlexport.CreateElement("Constructeur")
            elemswitch.AppendChild(colconstructeur)
    je me retrouve avec un fichier XML ou ma balise <switch> </switch> devient < switch />. donc la même erreur que si dessus avec mes balises filles.

    Il faut bien déclarer les balises filles en tant que xmlelement ?

Discussions similaires

  1. [JDOM] Création d'un fichier xml avec jdom
    Par fabricew59 dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 09/08/2006, 11h17
  2. [XSD] Création d'un fichier XML
    Par Taylor² dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 06/06/2006, 22h16
  3. Création d'un fichier XML
    Par fantasio31 dans le forum Général Python
    Réponses: 2
    Dernier message: 09/09/2004, 17h06
  4. [XML] Création d'un fichier XML
    Par TheDarkLewis dans le forum Langage
    Réponses: 6
    Dernier message: 24/07/2004, 18h27
  5. ligne d'entête création d'un fichier XML
    Par cduterme dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 23/02/2004, 15h30

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