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

Silverlight Discussion :

Ecriture fichier xml dans isolateStorage


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 69
    Par défaut Ecriture fichier xml dans isolateStorage
    Bonjour,

    Je veux ecrire dans un fichier xml qui est stocker dans l'isolatestorage.

    J'ajout ce passe bien mais dès que je rajoute une ligne celà efface toutes les autres du coup je n'ai que le dernier ajout. Voilà le 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
    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
     Using isoStore As IsolatedStorageFile = _
                        IsolatedStorageFile.GetUserStoreForApplication()
     
                        ' Create new file
                        Using isoStream As IsolatedStorageFileStream = _
                            New IsolatedStorageFileStream("recettes.xml", _
                                FileMode.OpenOrCreate, isoStore)
     
                            ' Write to the Isolated Storage for the user.
                            Dim settings As XmlWriterSettings = New XmlWriterSettings()
                            settings.Indent = True
                            ' Create an XmlWriter.
                            Using writer As XmlWriter = XmlWriter.Create(isoStream, settings)
     
                                writer.WriteStartDocument()
     
                                writer.WriteStartElement("recettes")
     
                                writer.WriteStartElement("recette")
     
                                writer.WriteAttributeString("Nom", AjoutRecette.edName.Text)
                                writer.WriteAttributeString("Type", CStr(AjoutRecette.cbType.SelectedIndex + 1))
                                writer.WriteAttributeString("Url", AjoutRecette.edUrl.Text)
                                If AjoutRecette.raNote.Value Is Nothing Then
                                    writer.WriteAttributeString("Note", CStr(0))
                                Else
                                    writer.WriteAttributeString("Note", CStr(AjoutRecette.raNote.Value))
                                End If
     
                                writer.WriteAttributeString("Comm", AjoutRecette.edComm.Text)
                                writer.WriteAttributeString("ing1", AjoutRecette.edIng1.Text)
                                writer.WriteAttributeString("ing2", AjoutRecette.edIng2.Text)
                                writer.WriteAttributeString("ing3", AjoutRecette.edIng3.Text)
                                writer.WriteAttributeString("ing4", AjoutRecette.edIng4.Text)
                                writer.WriteAttributeString("vin", AjoutRecette.edVin.Text)
     
                                If AjoutRecette.ImgPhoto.Source IsNot Nothing Then
                                    If SetDetailImage(AjoutRecette.Strm, isoStore, AjoutRecette.edName.Text & ".jpg") Then
                                        writer.WriteAttributeString("img", AjoutRecette.edName.Text & ".jpg")
                                    Else
                                        writer.WriteAttributeString("img", "")
                                    End If
                                End If
     
     
                                writer.WriteEndElement()
     
                                writer.WriteEndElement()
     
                                writer.WriteEndDocument()
     
                                writer.Close()
     
     
                            End Using
     
                        End Using
    Voyez vous une erreur dans cette méthode??

    Merci d'avance pour vos réponses.

    Cordialement, Nicolas.

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Ben oui quand on ouvre un fichier on se trouve au début donc si tu écris dedans tu effaces au fur et à mesure.

    Essaye en te positionnant à la fin

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    isoStream.Seek(0, SeekOrigin.End);

  3. #3
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    Ou ouvrir ton IsolatedStorageFileStream en FileMode.Append au lieu de FileMode.OpenOrCreate.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 69
    Par défaut
    Cela marche avec Append.

    Par contre du coup ca écrit le nouveau node tout à la fin du fichier donc apres la fin du node principale et apres la fin du document xml.

    Y a t'il quelque chose a rajouter pour que ca marche convenablement toujours avec append ou dois je passer sur une autre méthode???

    Merci pour vos réponses.

    Cordialement, Nicolas.

  5. #5
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    Nicolas,

    Par contre du coup ca écrit le nouveau node tout à la fin du fichier donc apres la fin du node principale et apres la fin du document xml.
    Ce qui est le comportement normal de Append.

    Si tu veux écrire à l'intérieur de noeux XML, le plus simple est de réecrire complétement le fichier.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 69
    Par défaut
    En effet la solution fonctionne. Mais moi qui voulais trouvé une solution simple pour enregistrer quelques donné je trouve mes méthodes bien compliqué du coup. Du coup je doute que l utilisation de fichier XML soit adapté. Quand même obligé de recréé son contenu de fichier XML pour rajouter ou modifier un node, je trouve ça un peu gros, vous trouvez pas?

    Y a t il d' autre solution de sauvegarde d' objet avec silverlight????. En évitant la base de donnée avc un service web, c est vraiment juste une petite appui simple mon projet.

    Merci

    Nicolas.

Discussions similaires

  1. ecriture d'un fichier xml dans une boucle
    Par dadapointcom dans le forum C#
    Réponses: 5
    Dernier message: 07/12/2007, 23h09
  2. Intégration des fichier XML dans une base de données MySQL
    Par bebemoundjou dans le forum XQUERY/SGBD
    Réponses: 8
    Dernier message: 25/11/2005, 22h41
  3. Réponses: 3
    Dernier message: 13/12/2004, 13h54
  4. [XSLT] Visualisation d'un fichier xml dans un jEditorPane
    Par Yannos94 dans le forum Format d'échange (XML, JSON...)
    Réponses: 16
    Dernier message: 09/01/2004, 17h50
  5. utilliser un autre fichier xml dans un xsl
    Par New Bee dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 14/04/2003, 10h55

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