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

Windows Forms Discussion :

[vb.net]recupération de donnée provenant d'un fichier xml


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 21
    Points : 11
    Points
    11
    Par défaut [vb.net]recupération de donnée provenant d'un fichier xml
    salut
    pour l'instant pas de probléme pour crée mon fichier xml en récupérant les donnée d'une textbox mais par contre pour récupérer cette donnée et la remettre dans une textbox ,je galére grave
    pour l'instant j'ai essayer ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     Dim xmldoc As XmlDocument = New XmlDocument
            xmldoc.Load("C:\Data\Visual Studio Projects\essaieXML\bin\voiture2.xml")
            Dim xmlTextReader As XmlTextReader
            Try
                xmlTextReader.ReadStartElement()
                TextBox1.Text = xmlTextReader.ReadElementString("textbox1")
            Catch ex As Exception
     
            End Try
    mais il ne se passe rien , pas d'erreur mais pas de résultat non plus, si quelqu'un pourrai m'aider je lui en serait reconnaisant
    merci d'avance

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Hum.. quel est le contenu de ton XML :

  3. #3
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    pas d'erreur j'en suis pas sûr
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    alors dans mon xml il y a les données recupéré des textbox de mon application, j'arrive a les mettre dans le fichier mais aprés j'arrive pas a les récuperer et a les mettre dans mon appli, je sais pas si je m'y prend bien car débutant, si quelqu'un pourrai me donner des conseil il serai la bienvenue
    merci d'avance
    voici un exemple de code récuperation de donné et ensuite chargement de donnée qui marche pas
    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
         Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim xmlTextWriter As XmlTextWriter
                Try
     
                    xmlTextWriter = New XmlTextWriter("voiture2.xml", System.Text.Encoding.UTF8)
                    xmlTextWriter.Formatting = System.Xml.Formatting.Indented
                    xmlTextWriter.Indentation = 2
                    xmlTextWriter.WriteStartDocument()
                    xmlTextWriter.WriteComment("test création Fichier XML")
    xmlTextWriter.WriteElementString("textbox1", TextBox1.Text)
                    xmlTextWriter.WriteElementString("textbox1.form2", frm.TextBox1.Text)
     xmlTextWriter.WriteEndElement()
                    xmlTextWriter.WriteEndElement()
                    xmlTextWriter.Flush()
                    xmlTextWriter.Close()
                Catch ex As Exception
                    Console.WriteLine(ex.Message)
                End Try
            End If
     Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
     
            Dim xmldoc As XmlDocument = New XmlDocument
            xmldoc.Load("C:\Data\Visual Studio Projects\essaieMXL\bin\voiture2.xml")
            Dim xmlTextReader As XmlTextReader
            Try
                xmlTextReader.ReadStartElement()
                TextBox1.Text = xmlTextReader.ReadElementString("textbox1")
            Catch ex As Exception
     
            End Try
        End Sub
    voili voila

  5. #5
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Tu n'as pas tenu compte de mon post précédent
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  6. #6
    Membre régulier Avatar de toxine
    Inscrit en
    Juin 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2004
    Messages : 78
    Points : 78
    Points
    78
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            Dim configurationAppSettings As System.Configuration.AppSettingsReader = New System.Configuration.AppSettingsReader
            If configurationAppSettings.GetValue("FirstRun", GetType(System.String)) = 1 Then
                Dim f As New FormInstall
                f.ShowDialog()
                cmdScanInitial.Enabled = True
            End If
    95% des problèmes informatiques se situent entre le clavier et la chaise

  7. #7
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par toxine
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            Dim configurationAppSettings As System.Configuration.AppSettingsReader = New System.Configuration.AppSettingsReader
            If configurationAppSettings.GetValue("FirstRun", GetType(System.String)) = 1 Then
                Dim f As New FormInstall
                f.ShowDialog()
                cmdScanInitial.Enabled = True
            End If
    Tu peux expliquer Toxine :
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  8. #8
    Membre régulier Avatar de toxine
    Inscrit en
    Juin 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2004
    Messages : 78
    Points : 78
    Points
    78
    Par défaut
    oops trompé de forum !
    95% des problèmes informatiques se situent entre le clavier et la chaise

  9. #9
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    j'ai essayer en rajoutant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Catch ex As Exception 
       msgbox(ex.message) 
    End Try
    il me met comme message
    le référence d'objet n'est pas définie à une instance d'un objet
    je sais pas trop ce que cela veut dire ?

  10. #10
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par moust
    j'ai essayer en rajoutant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Catch ex As Exception 
       msgbox(ex.message) 
    End Try
    il me met comme message
    le référence d'objet n'est pas définie à une instance d'un objet
    je sais pas trop ce que cela veut dire ?
    Ben çà veut dire

    Constructeurs XmlTextReader
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  11. #11
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    voici mon fichier xml
    <?xml version="1.0" encoding="utf-8" ?>
    - <!-- test création Fichier XML
    -->
    - <GARAGE>
    - <VEHICULE id="1">
    <ANNEE>1998</ANNEE>
    <CHASSIS>12542578FDGR12F</CHASSIS>
    - <MOTEUR>
    <PUISSANCE>5</PUISSANCE>
    <CYLINDREE>1200</CYLINDREE>
    <CARBURANT>ESSENCE</CARBURANT>
    </MOTEUR>
    <COULEURS>BLANCHE</COULEURS>
    <textbox1>sa marche</textbox1>
    <textbox1.form2>TextBox1</textbox1.form2>
    </VEHICULE>
    </GARAGE>
    je fait ceci
    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
     Dim xmldoc As XmlDocument = New XmlDocument
            xmldoc.Load("C:\Data\Visual Studio Projects\essaieMXL\bin\voiture2.xml")
            Dim xmlTextReader As XmlTextReader
            Try
                xmlTextReader = New XmlTextReader("voiture2.xml")
                xmlTextReader.ReadStartElement()
                xmlTextReader.ReadElementString("GARAGE")
                xmlTextReader.ReadElementString("VEHICULE")
                xmlTextReader.ReadElementString("id")
                xmlTextReader.ReadElementString("ANNEE")
                xmlTextReader.ReadElementString("CHASSIS")
                xmlTextReader.ReadElementString("MOTEUR")
                xmlTextReader.ReadElementString("PUISSANCE")
                xmlTextReader.ReadElementString("CYLINDREE")
                xmlTextReader.ReadElementString("CARBURANT")
                xmlTextReader.ReadElementString("COULEURS")
                TextBox1.Text = xmlTextReader.ReadElementString("textbox1")
                xmlTextReader.ReadElementString("textbox1.form2")
     
            Catch ex As Exception
                MsgBox(ex.Message)
     
            End Try
    il me met comme message d'erreur
    la balise <VEHICULE> de l'espace de noms n'est pas attendu. ligne 4 position 4
    qu'est ce que je pourrai faire

  12. #12
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Ah tu vois on avance
    Bon pour ton soucin je te demande encore une petite manip
    peuxtu debugger pas à pas et nous sortir uniquement la ligne de code qui fait sauter l'execution dans le catch
    estce:
    1.xmlTextReader.ReadElementString("GARAGE") :
    2. xmlTextReader.ReadElementString("VEHICULE") :
    3. xmlTextReader.ReadElementString("id") :
    merci
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  13. #13
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    la ligne de code qui fait sauter l'execution dans le catch est le passage de
    xmlTextReader.ReadElementString("GARAGE")
    à
    xmlTextReader.ReadElementString("VEHICULE")

  14. #14
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    On avance on avance
    le problème est donc lever par précisement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlTextReader.ReadElementString("GARAGE")
    Citation Envoyé par MSDN
    Méthode XmlReader.ReadElementString (String)
    Type d'exception
    XmlException :
    - si le noeud de contenu suivant n'est pas une balise de début
    - si l'élément Name ne correspond pas à l'argument spécifié
    - si l'élément trouvé ne contient pas de valeur texte brut.
    Autrement dit tu n'utilises pas la bonne méthode au bon moment
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  15. #15
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    bien cool pour ton aide
    je continuerai sa demain car la il faut que je rentre la boite ferme
    @+ et merci encore

  16. #16
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    salut
    je peux pas verifier si je suis sur le bon noeoud ,il ya une erreur avec ton exemple (if xmlTextReader.Name(MonNoeud) then) ,cela me dit
    public overides ReadOnly Property Names()as String n'a aucun paramétre et son type de retour ne peux pax etre indéxé
    le probléme est surement due a sa car GARAGE est mon premier noeud lu et comme sa bloque la il ne doit pas pouvoir le lire .

  17. #17
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    premièrement t'es bien dans une boucle de lecture j'espère
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    While xmlTextReader.Read()
    Ensuite effectivement la condition à remplir est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if xmlTextReader.Name = MonNoeud then ...etc
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  18. #18
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    la condition if n'est jamais valid donc il saute au end if , on dirait qu'il ne peux pas lire

  19. #19
    Membre régulier
    Profil pro
    Inscrit en
    Août 2002
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 83
    Points : 107
    Points
    107
    Par défaut
    Bonjour,

    c'est la méthode xmlTextReader.ReadStartElement() qui pose problème.
    En effet, en utilisant cette méthode tu te positionnes sur le premier noeud soit la balise <garage> et tu avances au noeud suivant soit <vehicule>,

    donc tu plantes sur xmlTextReader.ReadElementString("GARAGE")
    Le xmltextReader etant un lecteur en avant uniquement.

  20. #20
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    quel serait alors la méthode approprier a mon probléme , car en enlevant
    xmlTextReader.ReadStartElement()
    j'ai le même probléme
    pour lire il faut pas utiliser read ? faut il utiliser Name ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Import de données provenant d'un fichier texte
    Par DanaX dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 19/09/2008, 11h25
  2. Réponses: 8
    Dernier message: 06/12/2007, 15h30
  3. Réponses: 4
    Dernier message: 03/03/2006, 10h39
  4. [MySQL] Inserer des donnée provenant d'un fichier
    Par agencep dans le forum PHP & Base de données
    Réponses: 48
    Dernier message: 20/02/2006, 17h30
  5. Réponses: 8
    Dernier message: 19/01/2006, 18h16

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