• .net 将xml转换成DateSet


    /// <summary>        

    /// 将XML字符串转换成DATASET        

    /// </summary>        

    /// <param name="xmlStr"></param>        

    /// <returns></returns>        

    public static DataSet ConvertToDateSetByXmlString(string xmlStr)        

    {

                if (xmlStr.Length > 0)  

               {

                    if (xmlStr.Contains("</NewDataSet><NewDataSet>"))

                    {

                        xmlStr = xmlStr.Replace("</NewDataSet><NewDataSet>", "");

                    }  

                   DataSet ds = new DataSet();

                    StringReader StrStream = null;  

                   XmlTextReader Xmlrdr = null;                

                      try

                    {                    

                         //读取字符串中的信息                     StrStream = new StringReader(xmlStr);

                        //获取StrStream中的数据                     Xmlrdr = new XmlTextReader(StrStream);

                        //ds获取Xmlrdr中的数据                      ds.ReadXml(Xmlrdr);

                        return ds;

                    }

                    catch (Exception e)

                    {

                        throw e;

                    }   

                  finally

                    {

                        //释放资源                     if (Xmlrdr != null)   

                      {                         Xmlrdr.Close();  

                           StrStream.Close();

                        }  

                   }  

               }   

              else  

               {  

                   return null;

                }  

           }

            /// <summary>

            /// 将XML字符串转换成DATASET

            /// </summary>

            /// <param name="xmlStr"></param>

            /// <returns></returns>

            public static DataSet CTDateSetByXmlString(string xmlStr)

            {

                if (xmlStr.Length > 0)

                {

                    if (xmlStr.Contains("</NewDataSet><NewDataSet>"))

                    {

                        xmlStr = xmlStr.Replace("</NewDataSet><NewDataSet>", "</NewDataSet>,<NewDataSet>");

                    }

                    string[] strXmlArr = xmlStr.Split(',');

                    DataSet dsTotle = new DataSet();

                    for (int i = 0; i < strXmlArr.Length; i++)

                    {

                        StringReader StrStream = null;

                        XmlTextReader Xmlrdr = null;

                        DataTable dt = null;

                        DataSet ds = new DataSet();

                        try

                        {

                            //读取字符串中的信息                         StrStream = new StringReader(strXmlArr[i].ToString());

                            //获取StrStream中的数据                         Xmlrdr = new XmlTextReader(StrStream);

                            //ds获取Xmlrdr中的数据                          ds.ReadXml(Xmlrdr);

                            dt = ds.Tables[0];

                            dt.TableName = dt.TableName + i;

                        }

                        catch (Exception e)

                        {

                            throw e;

                        }  

                       finally

                        {

                            //释放资源                         if (Xmlrdr != null)

                            {

                                Xmlrdr.Close();

                                StrStream.Close();

                            }

                        }

                        dsTotle.Tables.Add(dt.Copy());

                    }  

                   return dsTotle;

                }  

               else

                {  

                   return null;

                }

            }

    XML格式

     string strDtXML = @"<NewDataSet>

               <Table> 

               <列名a>201411</列名a>

               <列名b>XX</列名b> 

               <列名c>北京</列名c>

               </Table>

               <Table> 

               <列名a>201411</列名a>

               <列名b>FF</列名b> 

               <列名c>黑龙江</列名c>

               </Table>

               </NewDataSet>";

    DataSet dsSet = CTDateSetByXmlString(strDtXML);

  • 相关阅读:
    【t034】Matrix67的派对
    【t042】炮击坦克
    Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
    阿里云平台
    OpenShift:外国的免费云平台
    注册亚马逊云服务
    腾讯云
    微信公众号免费进行开发者中心云服务器配置
    消息的接收与响应
    那个学完这个小程序创业课程的小白现在月入17万
  • 原文地址:https://www.cnblogs.com/xuxin-1989/p/4157822.html
Copyright © 2020-2023  润新知