首页  ·  知识 ·  云计算
如何从XML字符串获取DataSet
zhangzs8896  http://www.cnblogs.com/zhangzs8896/  综合  编辑:dezai  图片来源:网络
以往可能从XML文件获取数据集的比较多一些,但是从XML字符串获取DataSet的不是很多,我的想法是:在客户端,用户提交后生成XML字符串,并将这个字符串存到数

以往可能从XML文件获取数据集的比较多一些,但是从XML字符串获取DataSet的不是很多,我的想法是:在客户端,用户提交后生成XML字符串,并将这个字符串存到数据库的某个字段,等到我们使用这些XML数据时,只要提取出来,加以分析,显示在不同的Web控件上即可。主要是XmlTextReader的使用。
为方便,下面不涉及数据库(数据库的相关操作省略)。
一:构建一个XML字符串:


创建XML字符串
 1//创建xml字符串   
 2private string GetStrXML()
 3        {
 4            string strXML = "";
 5            strXML += "";
 6            strXML += "";
 7            strXML += "";
 8            for (int i=0;i<3;i++)
 9            {
10                strXML += "";
11                strXML += "";
12                strXML += Convert.ToString(i*10 +1);
13                strXML +="
";
14                strXML += "";
15                strXML += Convert.ToString(i*10 +2);
16                strXML +="
";
17                strXML += "";
18                strXML += Convert.ToString(i*10 +3);
19                strXML +="
";
20                strXML += "";
21                strXML += Convert.ToString(i*10 +4);
22                strXML +="
";
23                strXML += "";
24                strXML += Convert.ToString(i+1)+"级";
25                strXML +="
";
26                strXML += "";
27                strXML += Convert.ToString((i*10 +5)/5)+"%";
28                strXML +="
";
29                strXML +="
";
30            }
31            strXML +="";
32            strXML +="";
33            strXML +="张三丰";
34            strXML +="
";
35            strXML +="";
36            strXML +="同意";
37            strXML +="
";
38            strXML +="";
39            strXML +="本次审批通过!  ";
40            strXML +="但是本季度节能比上季度相比,指标有所下降,望各位注意!";
41            strXML +="
";
42            strXML +="";
43            strXML +="2006-04-20";
44            strXML +="
";
45
46            strXML +="
";
47            strXML += "
";
48            strXML += "
";
49            return strXML;
50        }
其中里面有一个GetQuarterFirstMonth()方法,是用来获取当前季度的第一个月份的函数,实际测试中,可以随时替换,所以这个函数不贴出来了,以免扰乱视线,呵.

二.根据XML字符串返回DataSet数据集
      这里XML串直接来自函数GetstrXML(),在实际业务中,我们大都是从数据库中
      获取这个XML字符串的。


由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三个表。

四.我的最终效果图:
o_Test.JPG
五:需要主要的地方
     如果测试时,编译有问题,请增加相应的引用(废话).
     using System.Xml;
     using  System.IO;

本文作者:zhangzs8896 来源:http://www.cnblogs.com/zhangzs8896/
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读