Bonjour,
je développe une petite application en C# mais je suis confronté à un problème dont je ne trouve pas la solution (j'ai pourtant testé pas mal de trucs sur le net mais rien n'y fait).
Je m'explique, lorsque mon application est fermée, un fichier XML est créé à l'aide d'un XmlSerializer, celui-ci contient alors la liste d'objets "GiveAway" de mon application, cette partie-ci fonctionne correctement et me donne un résultat comme ci-dessous:
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?xml version="1.0"?> <ArrayOfGiveAway xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />001/XMLSchema"> <GiveAway> <Date>a</Date> <Platform>a</Platform> <Resume>a</Resume> </GiveAway> <GiveAway> <Date>b</Date> <Platform>b</Platform> <Resume>b</Resume> </GiveAway> </ArrayOfGiveAway>
Cependant je voudrais pouvoir récupérer cette liste d'objets "GiveAway" à partir de cet XML au lancement de mon application. Mais là je suis confronté à une erreur dont je ne trouve pas la solution :/
Il m'affiche cette erreur : "System.InvalidOperationException*: 'Il existe une erreur dans le document XML (2, 119).' XmlException*: Données non valides au niveau racine. Ligne 2, position 119."
Voici le code pour la lecture et la sauvegarde du fichier XML :
Merci d'avance à ceux qui m'apporteront de l'aide vis-à-vis de ce problème
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
38
39
40
41
42
43
44
45
46 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; using System.Windows.Forms; using System.Xml.Serialization; using System.IO; using System.Xml.Linq; namespace GiveAwApp { class WriteSaveXML { public void saveXml(List<GiveAway> list) { //Write List<T> to XML file string output = "GiveAwayData.xml"; List<GiveAway> listGive = list.Distinct().ToList(); XmlSerializer serialiser = new XmlSerializer(typeof(List<GiveAway>)); TextWriter FileStream = new StreamWriter(output); serialiser.Serialize(FileStream, listGive); FileStream.Close(); } public List<GiveAway> readXml() { //Write List<T> to XML file string path = "GiveAwayData.xml"; List<GiveAway> listGive = new List<GiveAway>(); XmlSerializer serializer = new XmlSerializer(typeof(List<GiveAway>)); StreamReader reader = new StreamReader(path); listGive = (List<GiveAway>)serializer.Deserialize(reader); reader.Close(); return null; } } }
Partager