爲方便,下面不涉及數據庫(數據庫的相關操作省略)。
一:構建一個XML字符串:
1//創建xml字符串
2private string GetStrXML()
3 {
4 string strXML = "";
5 strXML += "<?xml version=/"1.0/" encoding=/"utf-8/"?>";
6 strXML += "<Root>";
7 strXML += "<DeptName value=/"第一車間/">";
8 for (int i=0;i<3;i++)
9 {
10 strXML += "<SendData value=/""+Convert.ToString(Convert.ToInt32(GetQuarterFirstMonth())+i)+"/">";
11 strXML += "<MeltWeight>";
12 strXML += Convert.ToString(i*10 +1);
13 strXML +="</MeltWeight>";
14 strXML += "<FcatUnitHao>";
15 strXML += Convert.ToString(i*10 +2);
16 strXML +="</FcatUnitHao>";
17 strXML += "<JieDian>";
18 strXML += Convert.ToString(i*10 +3);
19 strXML +="</JieDian>";
20 strXML += "<JieyueValue>";
21 strXML += Convert.ToString(i*10 +4);
22 strXML +="</JieyueValue>";
23 strXML += "<Grade>";
24 strXML += Convert.ToString(i+1)+"級";
25 strXML +="</Grade>";
26 strXML += "<Tijijanglv>";
27 strXML += Convert.ToString((i*10 +5)/5)+"%";
28 strXML +="</Tijijanglv>";
29 strXML +="</SendData>";
30 }
31 strXML +="<Leader>";
32 strXML +="<Name>";
33 strXML +="張三丰";
34 strXML +="</Name>";
35 strXML +="<idea>";
36 strXML +="同意";
37 strXML +="</idea>";
38 strXML +="<desp>";
39 strXML +="本次審批通過! ";
40 strXML +="但是本季度節能比上季度相比,指標有所下降,望各位注意!";
41 strXML +="</desp>";
42 strXML +="<data>";
43 strXML +="2006-04-20";
44 strXML +="</data>";
45
46 strXML +="</Leader>";
47 strXML += "</DeptName>";
48 strXML += "</Root>";
49 return strXML;
50 }
其中裏面有一個GetQuarterFirstMonth()方法,是用來獲取當前季度的第一個月份的函數,實際測試中,可以隨時替換,所以這個函數不貼出來了,以免擾亂視線,呵.
二.根據XML字符串返回DataSet數據集
這裏XML串直接來自函數GetstrXML(),在實際業務中,我們大都是從數據庫中
獲取這個XML字符串的。
1//由XML字符串生成DataSet
2private DataSet GetDataSet()
3 {
4 try
5 {
6 string text = GetstrXML();
7 XmlTextReader reader = new XmlTextReader(new StringReader(text));
8 reader.WhitespaceHandling = WhitespaceHandling.None;//
9 DataSet ds = new DataSet();
10 ds.ReadXml( reader );//加載XML到DS中
11 reader.Close();
12 ds.Dispose();
13 return ds;
14 }
15 catch(Exception err)
16 {
17 throw new Exception("GetDataSet方法異常:"+err.Message);
18
19 }
20 }
三.從返回的DataSet中選取不同的DataTable綁定到相應的Web控件上。
根據XML字符串的不同,DataSet中將包含多個DataTable,比如我上面的XML字符串,將返回的DataTable有:DeptName,SendData,Leader三個表。
四.我的最終效果圖:
五:需要主要的地方
如果測試時,編譯有問題,請增加相應的引用(廢話).
using System.Xml;
using System.IO;