Hoi Tweakers!
Ik ondervind wat moeilijkheden bij het deserializeren van een xml file naar objecten in c#.
Mijn object klasse ziet er als volgt uit:
en de xml file:
En deze probeer ik als volgt te deserializeren:
Dit geeft echter de volgende fout:
There was an error reflecting type 'System.Collections.Generic.List`1[streamingServer.AP]'.
Ik heb begrepen dat je een paramterloze klasse moet hebben, dus daar heb ik voor gezorgd.
Er is nog een andere xml file met een array van strings die ik met bovenstaande methode probleemloos kan deserializeren. Heeft er iemand een idee waar het probleem zit?
Alvast bedankt!
grtz
Ik ondervind wat moeilijkheden bij het deserializeren van een xml file naar objecten in c#.
Mijn object klasse ziet er als volgt uit:
C#:
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
| using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; namespace streamingServer { public class AP { public string mac; public IPAddress ip; public AP() { //this.mac = mac; //this.ip = ip; } public string getMac() { return mac; } public void setMac(string mac) { this.mac = mac; } public IPAddress getIp() { return ip; } public void setIp(IPAddress ip) { this.ip = ip; } } } |
en de xml file:
XML:
1
2
3
4
5
6
7
8
9
10
11
| <?xml version="1.0" encoding="utf-8"?> <ArrayOfAP xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <AP> <IP>192.168.5.130</IP> <MAC>000FCBB31536</MAC> </AP> <AP> <IP>192.168.5.140</IP> <MAC>000C42C9712A</MAC> </AP> </ArrayOfAP> |
En deze probeer ik als volgt te deserializeren:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
| private static List<AP> LoadAPS(string fileName) { string configPath = Directory.GetCurrentDirectory() + "\\"; if (File.Exists(configPath + fileName)) { XmlSerializer s = new XmlSerializer(typeof(List<AP>)); TextReader r = new StreamReader(configPath + fileName); aps = (List<AP>)s.Deserialize(r); r.Close(); } return aps; |
Dit geeft echter de volgende fout:
There was an error reflecting type 'System.Collections.Generic.List`1[streamingServer.AP]'.
Ik heb begrepen dat je een paramterloze klasse moet hebben, dus daar heb ik voor gezorgd.
Er is nog een andere xml file met een array van strings die ik met bovenstaande methode probleemloos kan deserializeren. Heeft er iemand een idee waar het probleem zit?
Alvast bedankt!
grtz