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 :

XmlDocument . Load


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 141
    Par défaut XmlDocument . Load
    Bonjour à tous,

    Petite question théorique pour mon travail de fin d'études dans lequel je dois justifier mes choix d'implémentation :

    La méthode XmlDocument.Load(String param) charge-t-elle en mémoire le doc (ce qui me semblerait plus que logique) ou ouvre-t-elle simplement le dossier pour travailler en direct dessus ?

    Autre question qui en découle : en .NET 2.0, est-il plus efficace de faire une recherche directement dans le document (qui ne contient pas énormément de données), ou est-ce préférable de désérializer et de travailler sur une liste ?

    Merci d'avance pour l'aide !

  2. #2
    Membre éprouvé

    Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2004
    Messages : 178
    Par défaut
    Bonjour

    Le XmlDocument est une représentation en mémoire du fichier XML que tu charges. Donc gros fichier XML = gros chargement en mémoire = perf dégradées, il faut garder ça en tête.

    Si tu as des contraintes de vitesses, le XmlReader qui fournit des méthodes de lecture est la classe la plus rapide et celle la moins consommatrice de mémoire, et pour cause, elle ne met pas en cache le fichier XML. Cependant, elle fournit un accès au fichier "forward-only". Tu ne peux pas lire ce que tu veux, il faut imaginer un curseur qui se positionne au début du fichier et qui ne fait qu'avancer.

    Pour ta 2nd question, si le document reste léger, je te conseille de désérialiser et de faire tes recherches sur des collections de type List. Avec LinqToObject le travail de recherche sera grandement facilité.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 141
    Par défaut
    Merci beaucoup !

    Etant donné que mes fichiers sont relativement petits mais avec un accès fréquent, je reste sur XmlDocument avec (dé)sérialization.

    Par contre, j'aurais aimé pouvoir utiliser LINQ mais je suis sous .NET 2.0
    Je garderai donc mes "bêtes" recherches dans boucle.

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

Discussions similaires

  1. [DOM] Redéfinition de XMLDocument.prototype.load
    Par pc.bertineau dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 07/02/2008, 18h20
  2. visualation d'un Loading en local
    Par poxvx dans le forum Flash
    Réponses: 5
    Dernier message: 15/07/2003, 11h05
  3. Création d'un loading
    Par FLB dans le forum Flash
    Réponses: 5
    Dernier message: 09/07/2003, 22h08
  4. Loading
    Par Hermant dans le forum Flash
    Réponses: 2
    Dernier message: 17/02/2003, 11h28
  5. Comment insérer un loading ?
    Par ajit dans le forum Flash
    Réponses: 4
    Dernier message: 21/11/2002, 14h33

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