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 :

probleme d'enregistrement avec xml


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 90
    Points : 60
    Points
    60
    Par défaut probleme d'enregistrement avec xml
    salut,

    c'est la première fois que j manipule les fichiers xml je voudrais récupérer les champs de mes textbox pour les insérer dans un fichier xml

    voici le code que j fait:
    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
      Dim xmldoc As XmlDocument = New XmlDocument()
     
            xmldoc.LoadXml("<chargement> </chargement>")
            Dim elemlivraison As XmlElement
            elemlivraison = xmldoc.CreateElement("livraison")
            Dim elemcodec As XmlElement
            elemcodec = xmldoc.CreateElement("codecamion")
            Dim elemcodeb As XmlElement
            elemcodeb = xmldoc.CreateElement("codeabarreproduit")
            Dim elemqte As XmlElement
            elemqte = xmldoc.CreateElement("qte")
            elemcodec.InnerText = TextBox1.Text
            elemcodeb.InnerText = TextBox2.Text
            elemqte.InnerText = TextBox3.Text
            elemlivraison.AppendChild(elemcodec)
            elemlivraison.AppendChild(elemcodeb)
            elemlivraison.AppendChild(elemqte)
            xmldoc.DocumentElement.AppendChild(elemlivraison)
            xmldoc.Save("newlivraison.xml")
            MsgBox("enregistrement réussi")
    après j voulu afficher le contenu du fichier dans un datagrid afin de vérifier c'est la création du ficher c'est bien dérouler

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      Dim xmldoc As XmlDocument = New XmlDocument()
            xmldoc.Load("newlivraison.xml")
     
            Dim ds As DataSet = New DataSet()
            Dim xnr As New XmlNodeReader(xmldoc)
            ds.ReadXml(xnr)
            DataGrid1.Visible = True
            DataGrid1.DataSource = ds
    aprés exécution le datagrid n'affiche rien
    sinon comment je fait pour accéder directement au fichier xml ????

    et merci d'avance

  2. #2
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 90
    Points : 60
    Points
    60
    Par défaut
    j enfin trouvé la solution a mon problème

    mais maintenant j un autre problème voila je n'arrive a insérer qu'une seule livraison via une liste box

    voila le code xml que j voudrais obtenir par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <chargement>
    <livraisnon>
    <codebarre>1234677857576</codebarre>
    <codecamion>c4<codecamion>
    <qte>45</qte>
    </livraisnon>
    <livraisnon>
    <codebarre>1234677856766</codebarre>
    <codecamion>c8<codecamion>
    <qte>33</qte>
    </livraisnon>
    </chargement>
    le code vb
    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
      Dim j As Integer
            Dim carr, montab() As String
     
            Try
     
                Dim xmldoc As XmlDocument = New XmlDocument()
     
                xmldoc.LoadXml("<chargement> </chargement>")
                Dim root As XmlNode = xmldoc.DocumentElement
                For j = 0 To i - 1
                    carr = ListBox1.Items(j).ToString
                    montab = Split(carr, ":")
     
                    Dim elemlivraison As XmlElement
                    elemlivraison = xmldoc.CreateElement("livraison")
                    Dim elemcodec As XmlElement
                    elemcodec = xmldoc.CreateElement("codebarre")
                    Dim elemcodeb As XmlElement
                    elemcodeb = xmldoc.CreateElement("ref")
                    Dim elemqte As XmlElement
                    elemqte = xmldoc.CreateElement("label")
                    elemcodec.InnerText = montab(0)
                    elemcodeb.InnerText = montab(1)
                    elemqte.InnerText = montab(2)
                    elemlivraison.AppendChild(elemcodec)
                    elemlivraison.AppendChild(elemcodeb)
                    elemlivraison.AppendChild(elemqte)
                    xmldoc.DocumentElement.AppendChild(elemlivraison)
                    root.AppendChild(elemlivraison)
     
                    Dim writer As XmlTextWriter = New XmlTextWriter("test1.xml", Nothing)
                    writer.Formatting = Formatting.Indented
                    xmldoc.Save(writer)
                Next
                MsgBox("enregistrement réussi")
    donc aprés exécution il n'insère que la première ligne de mon listbox et par la suite un message d'erreur s'affiche
    The process can not acces the file test.xml because it is being using by another process

    on ouvrant aprés mon nouveau fichier xml voila ce que j'obtiens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <chargement>
    <livraisnon>
    <codebarre>1234677857576</codebarre>
    <codecamion>c4<codecamion>
    <qte>45</qte>
    </livraisnon>
    </chargement>
    juste la première ligne est insérer

  3. #3
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 151
    Points : 123
    Points
    123
    Par défaut
    ta variable i tu la déclare ou?
    i = listbox.items.count ?

  4. #4
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 90
    Points : 60
    Points
    60
    Par défaut
    j trouvé j pas fait attention au next

    il fallait tous simplement écrire ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
               Dim writer As XmlTextWriter = New XmlTextWriter("test1.xml", Nothing)
                    writer.Formatting = Formatting.Indented
                    xmldoc.Save(writer)
    a la fin de la boucle for

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme d'enregistrement avec delphi
    Par scofield1 dans le forum Bases de données
    Réponses: 5
    Dernier message: 12/09/2011, 18h38
  2. Probleme d'enregistrer avec un cle primaire
    Par atifo dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 01/12/2009, 09h22
  3. probleme de ChildNodes avec XML
    Par progamer54 dans le forum Flash
    Réponses: 6
    Dernier message: 22/11/2006, 13h44
  4. Réponses: 6
    Dernier message: 25/04/2005, 14h49
  5. [FLASH MX] Probleme avec XML
    Par celina5880 dans le forum Flash
    Réponses: 4
    Dernier message: 16/12/2004, 19h30

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