/// <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. C# TextBox控件 显示大量数据

    串口通信:在使用TextBox空间显示数据时,因为要显示大量的接收到的数据,当数据量大且快速(串口1ms发送一条数据)时,使用+=的方式仍然会造成界面的卡顿(已使用多线程处理),但使用AppendTe ...

  2. 一个简单C程序的汇编代码分析

    几个重要的寄存器 eip - 用于存放当前所执行的指令地址 esp - 栈(顶)指针寄存器 ebp - 基址(栈底)指针寄存器 简单的C程序 int g(int x) { ; } int f(int ...

  3. Jquery简略API使用

    都是个人随手笔记,既然开通了博客园就分享给大家.谨做为参考,具体大家自己测试以及使用 ★ $() ★ JQ的一个万能获取对象的函数(获取跟CSS获取元素是一样的)$(function(){}); 替代 ...

  4. flask开发restful api系列(2)

    继续上一章所讲,上一章我们最后面说道,虽然这个是很小的程序,但还有好几个要优化的地方.先复制一下老的view.py代码. # coding:utf-8 from flask import Flask, ...

  5. python登陆教务管理系统

    想试着模拟登陆一些网站,这次先拿学校的教务管理系统练练手,写一下登陆的流程. 1.我们登陆的url:http://222.195.8.201,但我们所填的密码不是提交到这个页面上去,检查一下页面代码 ...

  6. sql delete output

    select * into #student1 from student select * from #student1 create table #temp2( id int not null,na ...

  7. Android相关类关系

    Activity Window.WindowManager View. interface----ViewManager LayoutInflater Components Activity.Serv ...

  8. [LeetCode 122] - 买入与卖出股票的最佳时机II(Best Time to Buy and Sell Stock II)

    问题 假设你有一个数组,其中的第i个元素表示一只股票在第i天的价格. 设计一个算法找出最大的利润值.你可以进行任意多次的交易(即多次的卖出并买入一份股票).你不能在同一时间进行多次交易(即你必须在再次 ...

  9. 如何在Protel99se中批量修改元件的封装

    有时候需要批量修改元件的封装,可在原理图和PCB中批量修改.本文以批量修改电阻AXIAL0.3 的封装为AXIAL0.4 为例. 1. 在原理图中批量修改1.1. 方法1双击需要修改封装的其中一个元件 ...

  10. 奇葩的SQL*Net more data from client等待,导致批处理巨慢

    <pre name="code" class="sql"><pre name="code" class="sql ...