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

C# Discussion :

XML, HASH TABLE, Sorted list


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 192
    Par défaut XML, HASH TABLE, Sorted list
    Salut,
    j'ai créer un petit patcheur qui retrouve ce qu'il doit faire a partir d'un XML Qu'il télécharge. en voila le petit bout qui nous intéresse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        <PQueue>
          <add key="0" value="A:Debug.rar;testing" ></add>
          <add key="1" value="D:Debug.rar;testing" ></add>
    	  <add key="2" value="D:text.txt;testing again"></add>
        </PQueue>
    Seulement, après avoir exécuter le patch le programme est supposé enregistrer la clé (ID) du dernier téléchargement pour savoir ou commencer la prochaine fois.
    mais avant je lis la PQueue avec ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Hashtable section = (Hashtable)ConfigurationManager.GetSection("AppData/PQueue");
    ce qui fait de ma section une hash table et c'est la ou ca pose problème :
    les hashtable sont recopier dans un très mauvais ordre (pas le même que celui dans mon fichier)
    !! : ce qui fait que même si le patch #2 a été fait, on retrouvera par exemple comme dernier ID 0 ou 1.
    ce qui pose un problème après.

    Les questions :
    1. Pk la Hashtable se permet de foutre mon ordre en l'air.
    2. Si la hashtable a pris le temps de faire ce qu'elle veut, elle les ordonne comment les entrées ? pcq si elle utilise les valeurs par exemples, moi je veut biens inverser key et value lol
    3. Comment convertir ma hashtable a une Sorted List (qui elle pourra les réordonner)
    4. Ca fait trop "hack" tout ca, vous connaissez un meilleur moyen?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2009
    Messages : 133
    Par défaut
    Bonjour F.Saad
    1. Pk la Hashtable se permet de foutre mon ordre en l'air.
    Normal, by design, le HashTable ne maintient pas de tri, il faut s'orienter vers SortedList dans ce cas.
    2. Si la hashtable a pris le temps de faire ce qu'elle veut, elle les ordonne comment les entrées ? pcq si elle utilise les valeurs par exemples, moi je veut biens inverser key et value lol
    Il n'y a pas de notion de tri avec un HashTable, point !
    Jette un coup d'oeil à ce lien pour assurer toi-même une routine qui effectue le tri.
    3. Comment convertir ma hashtable a une Sorted List (qui elle pourra les réordonner)
    Tu peux effectuer un Loop pour charger ta SortedList, ou tu peux aussi essayer un truc de ce genre :
    SortedList sl = new SortedList(ht);
    Je me fonde sur l'hypothèse que les deux implémentent l'interface IDictionary, mais j'ai jamais utilsé !
    Enfin tu peux lire ton fichier avec LinqToXml et charger directement ta SortedList.
    4. Ca fait trop "hack" tout ca, vous connaissez un meilleur moyen?
    Non, ça ne le fait pas, et les membres avancés te donneront moults solutions.
    nachtigal

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 192
    Par défaut
    Merci, j'ai pu résoudre le probleme grace a LinqToXML.
    Mais je laisse le topic ouvert un peu plus au cas ou quelq'un aurait un autre solution.

Discussions similaires

  1. Chargement d'un XML en tables avec PL/SQL
    Par jenlin dans le forum PL/SQL
    Réponses: 7
    Dernier message: 21/03/2011, 12h55
  2. remplir champs d'une table à partir liste déroulante
    Par karidrou dans le forum Access
    Réponses: 7
    Dernier message: 08/01/2007, 16h21
  3. La fonction hash table
    Par lesguignols dans le forum Fortran
    Réponses: 2
    Dernier message: 12/11/2006, 17h32
  4. Réponses: 9
    Dernier message: 27/06/2006, 21h48
  5. Réponses: 2
    Dernier message: 04/08/2005, 12h26

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