/// <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);

.net 将xml转换成DateSet的更多相关文章

  1. Dom4j把xml转换成Map(固定格式)

    /** * 可解析list * * @param fileName * @return * @throws Exception */ @SuppressWarnings("unchecked ...

  2. Dom4j把xml转换成Map(非固定格式)

    将xml转换成Map,能够应对不用结构的xml,而不是只针对固定格式的xml.转换规则:1.主要是Map与List的互相嵌套2.同名称的节点会被装进List 示例: import java.util. ...

  3. 如何在ASP.NET中用C#将XML转换成JSON

    本文旨在介绍如果通过C#将获取到的XML文档转换成对应的JSON格式字符串,然后将其输出到页面前端,以供JavaScript代码解析使用.或许你可以直接利用JavaScript代码通过Ajax的方式来 ...

  4. 如何在ASP.NET中用C#将XML转换成JSON 【转】

      本文旨在介绍如果通过C#将获取到的XML文档转换成对应的JSON格式字符串,然后将其输出到页面前端,以供JavaScript代码解析使用.或许你可以直接利用JavaScript代码通过Ajax的方 ...

  5. C#将XML转换成JSON转换XML

    原文:C#将XML转换成JSON转换XML using System; using System.Collections.Generic; using System.Linq; using Syste ...

  6. C#将XML转换成JSON 使用 JavaScript 将 XML 转成 JSON

    如何在ASP.NET中用C#将XML转换成JSON [JavaScript]代码 // Changes XML to JSON function xmlToJson(xml) { // Create ...

  7. xml转换成map

    import java.io.IOException;import java.io.StringReader;import java.util.ArrayList;import java.util.H ...

  8. XML转换成数组方法

    <?php function xmlToArray2($xml) { // 将XML转为array $array_data = json_decode(json_encode(simplexml ...

  9. jQuery、JS读取xml文件里的内容(JS先通过document.implementation.createDocument方法将xml转换成document对象,jQuery将读取到的xml转成table)

    xml文件:test.xml <?xml version="1.0"?> <note> <to>George</to> <fr ...

随机推荐

  1. 什么是 Terminal

    从用户的角度来看,Terminal 是键盘和显示器的组合,也称为 TTY(电传打字机的缩写).键盘输入字符,显示器显示字符. 从进程的角度来看,终端是字符设备,可以通过 read.write.ioct ...

  2. C#进程与线程

    public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { / ...

  3. ArrayList 练习

    ArrayList list = new ArrayList(); Random rd = new Random(); ; i <; i++) { , ); //是否包含当前数字 if (!li ...

  4. poj1988 简单并查集

    B - 叠叠乐 Crawling in process... Crawling failed Time Limit:2000MS     Memory Limit:30000KB     64bit ...

  5. (原)anaconda 的安装与在pycharm中的版本切换

    参考网页: http://continuum.io/blog/anaconda-python-3 http://conda.pydata.org/docs/intro.html#creating-py ...

  6. TCP的长连接与短连接

    1.TCP连接 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接,如图所示: (1)第一次握手:建立连接,客户端A发送SYN包(SYN=j)到服务器B,并进入SYN_SEN ...

  7. JS将毫秒转换成时间格式

    JavaScript Date(日期)对象 实例 getTime():返回从 1970 年 1 月 1 日至今的毫秒数. setFullYear(): 设置具体的日期. toUTCString():将 ...

  8. kettle 连接 mysql 出错 Driver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the ……

    解决办法:1: 首先,到官网下载mysql-connector-java. 2: 把驱动文件放置在data-integration\lib\ 目录下

  9. hdu Number Sequence

    这道题是寻找规律.别的方法一般都是超时. #include <cstdio> #include <cstring> #include <algorithm> usi ...

  10. LeetCode_Rotate List

    Given a list, rotate the list to the right by k places, where k is non-negative. For example: Given ...