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 :

Parser du XML


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Par défaut Parser du XML
    Bonjour,

    Je reviens vers vous encore pour une question xml.
    Je réalise actuellement un parser xml basé sur le modèle sax.
    Pour cela j'utilise la classe XmlTextReader à laquelle je passe en parametre une classe personnelle (MaClasseStream) dérivant de Stream.
    Le problème doit venir de cette classe car le parsing de mes fichiers xml s'effectue correctement mais ne s'arrete pas. Après la dernière balise (lorsqu'il n'y a plus rien) j'obtiens l'erreur suivante :

    "Déclaration XML inattendue. La déclaration XML doit être le premier noeud du document et aucun espace blanc ne doit être placé avant. Ligne 46, position 13."

    (ligne 46, position 13 correspond à la fin de mon fichier)

    Quelqu'un aurait-il une idée pour stopper le parsing?

  2. #2
    Membre chevronné Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Par défaut
    Bonjour,

    Tu peux t'inspérer de cet article, il peut t'aider :

    XML File Parsing in VB.NET

    Bonne courage

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Par défaut
    Hum, c'est gentil mais malheureusement cette article n'utilise que le constructeur XmlTextReader(string). En utilisant celui-ci j'arrive à parser sans problème

    Seulement je dois utiliser le constructeur XmlTextReader(Stream) en passant comme object Stream un objet d'une classe dérivée de Stream.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 94
    Par défaut
    Bonjour,

    Peut-être que ce code va t'aider:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //Chargement du fichier XML
    XmlTextReader fileXml = new XmlTextReader(url);
     
    //On supprime les espaces et retours chariots
    fileXml.WhitespaceHandling = WhitespaceHandling.None;
     
    //on rentre dans la boucle pour parcourir les attributs
    while (fileXml.Read())
    {
        //traitement du XML
    }

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Par défaut
    Merci Kevin, mais en fin de compte le problème venait de l'implémentation de ma classe stream (utilisé pour construire le xmltextreader).
    IL s'agissait d'un problème de consommation de du buffer. En gros mon buffer ne se vidait pas au fur et à mesure de la lecture (ou du moins, pas correctement), du coup le XmlTextReader se retrouvais en fait de lecture avec un buffer plein, c'est à dire un nouvelle déclaration <?xml ... ?> et un autre élément racine...
    J'ai réussi à réctifier le tire en modifiant le code de ma classe stream et ça fonction (plus ou moins :p) bien maintenant.

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

Discussions similaires

  1. [C#] Parser du XML
    Par karl3i dans le forum Windows Forms
    Réponses: 5
    Dernier message: 27/02/2009, 09h46
  2. [DOM] Parser un XML
    Par Zapan dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 02/12/2005, 11h41
  3. [DOM XML] Comment parser du XML avec une version 4.3 ?
    Par ouioui2000 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 18/10/2005, 15h52
  4. [FLASH MX2004] Parser un XML en action script
    Par jejeman dans le forum Flash
    Réponses: 6
    Dernier message: 20/09/2005, 17h25
  5. [XSL] Parser fichier xml : erreurs + incompréhensions
    Par totobouchon dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 19/07/2005, 15h47

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