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

Windows Forms Discussion :

[C#] Parser du XML


Sujet :

Windows Forms

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 336
    Points : 341
    Points
    341
    Par défaut [C#] Parser du XML
    Bonjour à tous,

    Je suis parti de l'exemple donné par Thomas Lebrun pour parser du XML ( ici ).
    Je l'ai exécuté en console sur un fichier xml test.

    Tout fonctionne bien, à part les contenus des champs xml. Rien ne s'affiche à l'écran pour ces lignes là. Je suis allé voir en mode debug le contenu de la string, il est effectivement vide.
    Je suis allé voir dans la MSDN (entre autres ici ) l'énumération XmlNodeType.

    Voici un extrait du code que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
     
    				XmlTextReader reader = new XmlTextReader(@fichierXML);
     
    				while (reader.Read()) 
    				{
    				switch (reader.NodeType) 
    					{
    						case XmlNodeType.Element:
     
    							string sNameElement = reader.Name;
    							Console.WriteLine("Nom element");
    							Console.WriteLine(sNameElement);
    							break;
     
    						case XmlNodeType.Text:
    							if(reader.IsEmptyElement)
    								Console.WriteLine("Pas de contenu !");
    							else
    							{
    								string sNameText = reader.Name;
     
    								Console.WriteLine("Nom Texte");
    								Console.WriteLine(sNameText);
    							}
     
    							break;
     
    					case XmlNodeType.Whitespace:
    						Console.WriteLine(" Ceci est un espace dans le fichier xml ");
    						break;
     
    						default:
    							break;
    					}
    				}
    				Console.ReadLine();

    Le sNameElement est bien rempli, mais le sNameText est vide... et pourtant j'ai effectué le contrôle IsEmptyElement juste avant, et surtout le fichier xml test que j'utilise n'a pas d'attribut vide !

    Si vous avez des pistes... je vous remercie.

    Ps :

    Fichier XML utilisé en test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      <Test>
      <Layer_Name>Test</Layer_Name> 
      <File_Path>H:/Test.doc</File_Path> 
      </Test>

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 336
    Points : 341
    Points
    341
    Par défaut
    permet de récupérer effectivement le contenu.

    Trouvé sur http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemxmlxmlnodereaderclassnametopic.asp

  3. #3
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Content de voir que tu as pu réussir

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 336
    Points : 341
    Points
    341
    Par défaut
    Tout va bien donc.

    En fait j'étais surpris parce que sur l'exécutable que tu proposes en téléchargement (l'explorateur de fichier XML), tout marche bien...

  5. #5
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    ah ?

    Bizarre.....

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Bonjour,

    Moi je n'arrive pas à lire les paramètres attribute lors d'une ligne du type :

    <xml id='123'> Paris </xml> je n'arrive pas à récupérer le 123. Si quelqu'un a une idée.

    D'avance, merci pour votre aide !

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

Discussions similaires

  1. Parser du XML en javascript
    Par sylsau dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/01/2006, 02h49
  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