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>
Partager