none
Lister puis ouvrir chaqun des fichier xml aide RRS feed

  • Question

  • Bonjour

    Voila j'ai un application ou à chaque fois que je clique sur un bouton ca me créé 1 fichier xml avec 2 information dessus

    Et j'aimerais récupérer la liste de toute les informations écrite sur chaque fichier pour ensuite les mettre dans une listview

    Savez vous comment faire ? ou si vous connaissez un petit lien qui pourrait m'aider svp

    voici ma méthode que j'ai trouver mais cela me lit que le premier fichier

      private async Task deserialisexml()
            {
                string content = string.Empty;
                List<donnee> mesdonnéé;
    
                var xmlserializer = new DataContractSerializer(typeof(List<donnee>));
        
                var mystream = await ApplicationData.Current.LocalFolder.OpenStreamForReadAsync(XMLFILENAME);
    
                mesdonnéé = (List<donnee>)xmlserializer.ReadObject(mystream);        
    
                foreach (var donne in mesdonnéé)
                 {
                  var stackone = new StackPanel();
                  var textzero = new TextBlock();
                  var textone = new TextBlock();
                  var texttwo = new TextBlock();
                  textone.Text = donne.titre;
                  textone.FontSize = 22;
                  texttwo.FontSize = 20;
                  stackone.Children.Add(textzero);
                  stackone.Children.Add(textone);
                  stackone.Children.Add(texttwo);
    
                  texttwo.Text = donne.valeur;
    
                  listvaleur.Items.Add(stackone);
                 }

     

    lundi 19 octobre 2015 10:23

Réponses

  • Bonjour,

    Vous devez lire la liste des fichiers qui se trouvent dans votre dossier où sont stocker vos fichiers. De mémoire (je n'ai pas mon VS sous le nez) :

    var f = await ApplicationData.Current.LocalFolder.GetFolderAsync("datas");
    var files = await f.GetFilesAsync();
    foreach(var file in files){
     var mystream = await file.OpenStreamForReadAsync();
     // La suite de votre code
    }

    Ensuite dans une boucle sur chaque fichier lire le contenu de ce fichier et de remplir votre liste.

    Cordialement,


    Yan Grenier

    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont répondues à votre question, et de noter les réponses que vous avez trouvé utiles.

    mardi 20 octobre 2015 13:22

Toutes les réponses

  • Bonjour, Nico-Dev,

    Pourvu qu'une liste correspond a un fichier, je vous conseille d'appliquer une List de Lists : 
    Creating a List of Lists in C# 
    Merci de nous tenir au courant.

    Cordialement,
    Teodora


    Votez! Appel à la contribution TechNet Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    mardi 20 octobre 2015 09:24
    Modérateur
  •  Oui mais j'aimerais en gros que a la place du XMLFILENAME (nom d'un fichier) mettre ma liste de fichier 

    mardi 20 octobre 2015 09:49
  • Bonjour,

    Vous devez lire la liste des fichiers qui se trouvent dans votre dossier où sont stocker vos fichiers. De mémoire (je n'ai pas mon VS sous le nez) :

    var f = await ApplicationData.Current.LocalFolder.GetFolderAsync("datas");
    var files = await f.GetFilesAsync();
    foreach(var file in files){
     var mystream = await file.OpenStreamForReadAsync();
     // La suite de votre code
    }

    Ensuite dans une boucle sur chaque fichier lire le contenu de ce fichier et de remplir votre liste.

    Cordialement,


    Yan Grenier

    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont répondues à votre question, et de noter les réponses que vous avez trouvé utiles.

    mardi 20 octobre 2015 13:22
  • C'est bon j ai réussis merci
    • Modifié Nico-Dev jeudi 22 octobre 2015 13:52
    mardi 20 octobre 2015 16:32