Voor een klein projectje moet ik een XML bestand inlezen. De keuze voor xml is omdat er geen mogelijkheid is tot een database. Vandaar 
Ik heb nu onderstaande code.
De Xml welke aan deze methode gevoerd word ziet er als volgt uit:
N.b. naamgevingen e.d. zijn aagepast ivm leesbaarheid. Tevens zijn alle error checks eruit gehaald. Evt. tikfouten voorbehouden dus.
Ik vraag me eigenlijk af of dit wel 'the way to go' is. Het hele for loopje lijkt me overbodig en ik heb het idee dat er nog andere opties zijn, alleen kan ik er op dit moment geen verzinnen.
Ik heb nu onderstaande code.
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
| private DataTable xmlKreten() { DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("Waarde", typeof(string))); dt.Columns.Add(new DataColumn("Desc", typeof(string))); string FileName=@Server.MapPath("xml/waardes.xml") ; DataRow elm; XmlDocument objXml = new XmlDocument(); objXml.Load(FileName); XmlNodeList nodeList; XmlElement root = objXml.DocumentElement; nodeList = root.SelectNodes("/waardes/type[@id='"+Session["Card_Type"]+"']"); foreach (XmlNode waardenode in nodeList) { for(int i=0;i < waardenode.SelectNodes("doc_waarde").Count;i++) { elm = dt.NewRow(); elm[0] = waardenode.SelectNodes("doc_waarde").Item(i).InnerText; elm[1] = waardenode.SelectNodes("doc_desc").Item(i).InnerText; dt.Rows.Add(elm); } } return dt; } |
De Xml welke aan deze methode gevoerd word ziet er als volgt uit:
XML:
1
2
3
4
5
6
7
8
9
10
11
| <?xml version="1.0" encoding="utf-8"?> <waardes> <type id="type_soort_1"> <doc_waarde><![CDATA[waarde 1]]></doc_waarde> <doc_desc><![CDATA[desc 1]]></doc_desc> </type> <type id="type_soort_2"> <doc_waarde><![CDATA[waarde 2]]></doc_waarde> <doc_desc><![CDATA[desc 2]]></doc_desc> </type> </waardes> |
N.b. naamgevingen e.d. zijn aagepast ivm leesbaarheid. Tevens zijn alle error checks eruit gehaald. Evt. tikfouten voorbehouden dus.
Ik vraag me eigenlijk af of dit wel 'the way to go' is. Het hele for loopje lijkt me overbodig en ik heb het idee dat er nog andere opties zijn, alleen kan ik er op dit moment geen verzinnen.
Heart..pumps blood.Has nothing to do with emotion! Bored