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 :

comment parser un fichier xml efficacement ?


Sujet :

C#

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    422
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 422
    Points : 113
    Points
    113
    Par défaut comment parser un fichier xml efficacement ?
    salut ,
    j'essaie de parser un fichier xml qui a la structure suivante:
    <LIVRE>
    <TITRE>
    machin
    </TITRE>
    <NBREPARAGRAPHE>
    3
    </NBREPARAGRAPHE>

    <PARAGRAPHE>
    blablabla1
    </PARAGRAPHE>
    <PARAGRAPHE>
    blablabla2
    </PARAGRAPHE>
    <PARAGRAPHE>
    blalablalala3
    </PARAGRAPHE>
    </LIVRE>

    je parse le fichier avec la classe XmlTextReader et le seul truc que j'ai trouvé pour lire le conteu et le mettre dans une classe c'est un gros switch().
    Est ce qu'il ya pas un meilleur moyen de faire ça plus proprement avec moins d'effort ?
    Merci.

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 194
    Points
    5 194
    Par défaut
    salut

    tu peux essayer xsd.exe

    En entrée, le fichier XML, en sortie, la classe C# associée...

    Et après, ya qu'à utiliser XmlSerializer

  3. #3
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Décembre 2008
    Messages : 256
    Points : 311
    Points
    311
    Par défaut
    J'ai eu la même problématique que toi récemment. D'après ce que j'ai compris, la classe XmlTextReader est la plus rapide des classes .NET qui permette de lire du XML, mais son principal désavantage est qu'elle est de type "forward only".
    Du coup, je ne m'en suis pas servi pour ne pas créer de limitations sur mon composant de lecture.

    Je suis passé par un XmlDocument dont j'extrais le XmlNode racine. Je parcours ensuite ses XmlNodeList enfants. Ce modèle objet est super bien fait car chaque objet XmlNode du XmlNodeList peut soit-être terminal, soit contenir un XmlNodeList et ainsi de suite, donc ce que tu récupères reflète parfaitement la structure de ton fichier XML, quelle que soit la profondeur de ton arborescence.

Discussions similaires

  1. Comment parser un fichier XML avec un tag root avec prefix?
    Par davtypo3 dans le forum Général Python
    Réponses: 2
    Dernier message: 20/02/2014, 15h48
  2. comment parser ce fichier xml ?
    Par kaayna dans le forum Langage
    Réponses: 3
    Dernier message: 06/05/2012, 17h59
  3. Réponses: 4
    Dernier message: 20/04/2011, 10h39
  4. [DOM4J] Comment parser un fichier xml avec dom4j
    Par taouja dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 12/04/2007, 07h47
  5. [XML] Comment parser ce fichier XML avec java !
    Par jlassira dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 13/03/2006, 12h56

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