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

Delphi Discussion :

XML: stockage de noeuds et performances


Sujet :

Delphi

  1. #1
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut XML: stockage de noeuds et performances
    Débutant en XML, je me pose principalement 2 questions:

    1 * Est-il possible de stocker des noeuds en tant qu'objet ?
    Le traitement d'un noeud se passe en 2 temps:
    1. retrouver ce noeud par une recherche (arborescente ou XPath peu importe)
    2. une fois le noeud N trouvé, le traiter
    Je souhaiterais, à la fin de l'étape 1, stocker le noeud trouvé pour un traitement ulterieur, pour 2 raisons:
    - m'organiser par rapport au temps de recherche du noeud
    - dissocier la recherche du noeud et son traitement.

    --> Le probleme, c'est q'une fois la recherche fructueuse, je me retrouve avec un iXMLNode -> pour un traitement immédiat pas de probleme

    Mais je ne peux stocker ce noeud en tant que référence objet puisque mon iXMLNode est une interface.
    Je souhaiterai stocker mon Node trouvé (enfin la référence), pour pouvoir y faire un traitement ulterieur (lecture des attributs ou enfants), sans avoir a le chercher à nouveau.
    Est-ce possible ? (en instanciant un TXMlNode? exemple ?)

    c'est finalement faire une indexation spécifique pour un accès instantané aux noeuds.

    2* Les requêtes XPath sont interessantes et très pratique
    Je suis contre-balancé à les utiliser car pour le moment mes requetes sont relativement simple mais pourraient devenir plus complexes.
    Par contre, je suis accroc aux perf. et me demande si le "moteur" msXML est + ou - performant en vitesse de recherche, pour des requetes simples, par rapport à des recherches manuelles, surtout sur de gros fichiers.
    Retour d'expérience pour avoir utilisé l'un et l'autre ?
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 624
    Points : 754
    Points
    754
    Par défaut
    Salut Tic Tac Toe,

    Pour une réponse d'expert, je ne saurait que trop te conseiller de poser la question à RDM ou Sylvain James sur le forum XmlRad.
    Delphi et Xml sont leur domaine de prédilection.


    Sinon dans un cas classique de POO une variable de type interface peut être instancié via une classe qui implémente cette interface.
    Donc stoquer des references TXmlNode dans une liste doit être faisable.


    Je débute en XmlRad, aussi je ne m'étendrais pas davantage sur le sujet.

    Par contre, je suis accroc aux perf.
    Oui j'ai eu l'occasion de m'en apercevoir

    @+ et bon développement.

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/02/2011, 15h02
  2. XML insertion de noeud
    Par totoche dans le forum ASP
    Réponses: 2
    Dernier message: 27/09/2005, 11h57
  3. asp xml extraction de noeuds
    Par totoche dans le forum ASP
    Réponses: 2
    Dernier message: 31/08/2005, 16h24
  4. [C#] [XML] Insérer un noeud entre un parent et ses enfants
    Par frechy dans le forum Windows Forms
    Réponses: 10
    Dernier message: 04/04/2005, 16h52
  5. [VB.NET] XML - Trier des noeuds
    Par nako dans le forum VB.NET
    Réponses: 2
    Dernier message: 10/06/2004, 10h13

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