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

VB.NET Discussion :

quelle est la meilleure solution pour parser un xml ?


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 68
    Points : 52
    Points
    52
    Par défaut quelle est la meilleure solution pour parser un xml ?
    Bonjour,

    Je souhaiterais connaitre la meilleure solution pour parser un fichier xml. Mon objectif est de récupérer le contenu d'une balise donnée.

    Pour le moment, j'utilise un XmlTextReader et je parcours mon fichier avec la methode read().

    Y'a-t-il une meilleure solution (plus rapide et plus propre) ?

    Pour info, monf fichier xml, n'est pas gros (environ 50 lignes)

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    Tu peux créer une classe correspondant au schéma de ton xml en utilisant l'utilitaire xsd.exe. Tu crées une instance de cette classe à partir de ton fichier xml. Ensuite tu manipules cet objet comme tu veux.
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  3. #3
    Membre éprouvé
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Points : 1 177
    Points
    1 177
    Par défaut
    Autre solution: charger le xml avec XmlDocument puis faire une recherche avec SelectNode() (et son pluriel) grâce au XPath.
    "Si vous voulez être l’esclave des banques et payer pour financer votre propre esclavage, alors laissez les banquiers créer la monnaie" - Josiah Stamp, 1920, Gouverneur de la Banque d’Angleterre
    "Qui ne peut acheter ruine qui voudrait vendre" - Jacques Duboin.
    "Nous n'héritons pas la terre de nos parents, nous l'empruntons à nos enfants." - Antoine de Saint Exupéry

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 68
    Points : 52
    Points
    52
    Par défaut
    Merci pour vos réponses.
    Mais si je ne connais pas la structure de mon fichier .xml ?
    Y a-t-il un moyen d'accéder directement à la valeur d'une balise pour la retourner ?

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    459
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Points : 553
    Points
    553
    Par défaut
    Si tu es en lecture seule, utilise plutôt XPathDocument.
    Si tu ne connais que le nom de ta balise, tu peux faire quelque chose comme suit si tu cherches une balise "nom" par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    XPathDocument xPathDocument = new XPathDocument(@"C:\doc.xml");
    XPathNavigator xPathNavigator = xPathDocument.CreateNavigator();
    XPathNodeIterator iterator = xPathNavigator.SelectDescendants("nom", String.Empty, false);
    while (iterator.MoveNext())
    {
        String value = iterator.Current.Value;
    }
    Mais entre-nous, il est difficile de prévoir tes résultats si tu n'as pas de contrôle de la structure de ton fichier. N'importe qui peut alors injecter des balises "nom" qui seront traitées...

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/08/2010, 11h22
  2. Réponses: 2
    Dernier message: 07/07/2010, 13h17
  3. quelle est la meilleure solution pour un multifenetrage?
    Par idamarco dans le forum Débuter
    Réponses: 8
    Dernier message: 13/01/2009, 23h22
  4. Quelle est la meilleure solution pour un tchat ? (couleur, smiley)
    Par Coussati dans le forum Composants VCL
    Réponses: 4
    Dernier message: 10/02/2008, 15h45
  5. Quelle est la meilleure solution pour créer des Web Services?
    Par Flipmode dans le forum Services Web
    Réponses: 1
    Dernier message: 26/04/2007, 15h12

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