XML TO DataSet TO DataTable 相互转换

 1       //遍历XML 获得 DataSet         //XmlTextReader          static void Main(string[] args)
 2         {
 3             string xmlData = @"D:\study\XMLtest\XMLtest\bin\Debug\bookstore.xml";
 4             DataSet t = ConvertXMLToDataSet(xmlData);
 5             Console.WriteLine(t);
 6
 7         }
 8
 9         private static DataSet ConvertXMLToDataSet(string xmlFile)
10         {
11             StringReader stream = null;
12             XmlTextReader reader = null;
13             try
14             {
15                 XmlDocument xmld = new XmlDocument();
16                 xmld.Load(xmlFile);
17                 DataSet xmlDS = new DataSet();
18                 stream = new StringReader(xmld.InnerXml);
19                 reader = new XmlTextReader(stream);
20                 xmlDS.ReadXml(reader);
21                 return xmlDS;
22                 //DataSet xmlDS = new DataSet();
23                 //stream = new StringReader(xmlData);
24                 //reader = new XmlTextReader(stream);
25                 //xmlDS.ReadXml(reader, XmlReadMode.ReadSchema);
26                 //return xmlDS;
27             }
28             catch (Exception ex)
29             {
30                 string strTest = ex.Message;
31                 return null;
32             }
33             finally
34             {
35                 if (reader != null)
36                     reader.Close();
37             }
38         } 

经过调试

如何把 DataSet 转换成 DataTable  *** 注意,我这里的xml文件节点相对混乱,这样读取出来在Dataset中 有三个DataTable 然后怎么把DataTable 怎么给分离开来!

XML :

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <books>
 3   <book genre="update知鸟" ISBN="2-3631-4">
 4     <title name="csTitle属性">
 5           <ti>属性值</ti>
 6           <ti>属性值</ti>
 7           <ti>
 8
 9     <title>CS从入门到精通</title>
10     <author>izhiniao捷</author>
11     <price>58.3</price>
12
13 </ti>
14     </title>
15     <author>izhiniao捷</author>
16     <price>58.3</price>
17   </book>
18   <book genre="知鸟" ISBN="2-3631-4">
19     <title>CS从入门到精通</title>
20     <author>izhiniao</author>
21     <price>58.3</price>
22   </book>
23 </books>

XML

DataSet 转换成 DataTable:

1           List<DataTable> lTb = new List<DataTable>();
2             for (int i = 0; i < tttt.Tables.Count; i++)//主要就是这里的循环
3             {
4                 lTb.Add(tttt.Tables[i]);
5             }
时间: 2024-10-08 09:21:48

XML TO DataSet TO DataTable 相互转换的相关文章

Asp.net中XML与DataSet、DataTable之间的转换

using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Xml; using System.IO; using System.Web; namespace Utility { /// <summary> /// 把DataSet.DataTable.DataView格式转换成XML字符串.XML文件 /// </summary> public

XML 与 DataSet/DataTable 互相转换实例(C#)——转载

// <summary>      /// XML形式的字符串.XML文江转换成DataSet.DataTable格式      /// </summary>      public class XmlToData      {          /**//// <summary>          /// 将Xml内容字符串转换成DataSet对象          /// </summary>          /// <param name=&q

XML和DataTable相互转换

//XML转DataSet public static void XmlToDataTableByFile(){ XmlDocument doc = new XmlDocument(); doc.Load(@"E:\\xmlsample.xml"); DataSet ds = new DataSet(); StringReader tr = new StringReader(doc.InnerXml); //DataTable也可以ReadXml() ds.ReadXml(tr); }

C# DataSet与DataTable的区别和用法

DataSet是数据集,DataTable是数据表,DataSet存储多个DataTable.DataSet和DataTable像是专门存储数据的一个容器,在你查询数据库得到一些结果时可以存在里面. DataSet功能强大有浏览.排序.搜索.过滤.处理分级数据.缓存更改等功能,还可以与XML数据互换.DataSet中可包括多个DataTable,可将多个查询结构存到一个DataSet中,方便操作 ADO.NET开发人员为方便数据处理开发出来的,是数据的集合,为解决DataReader的缺陷设计的

关于PagedDataSource分页属性与DataSet和DataTable详解

Asp.net提供了三个功能强大的列表控件:DataGrid.DataList和Repeater控件,但其中只有DataGrid控件提供分页功能.相对DataGrid,DataList和Repeater控件具有更高的样式自定义性,所以很多时候我们喜欢使用DataList或Repeater控件来显示数据. PagedDataSource 类封装 DataGrid 控件的属性,这些属性使 DataGrid 可以执行分页.PagedDataSource 类的部分公共属性: AllowCustomPag

DataSet与DataTable基本用法

http://files.cnblogs.com/files/monkeyZhong/DataSetExample.rar 在设计数据库操作或者XML操作等表格数据时,我们难免要跟DataSet和DataTable打交道,我们这里就介绍下这几个类的用法: 首先介绍DataTable,其实就是一个二维表格,没那么悬乎,举个构造的例子: DataTable dt = new DataTable("Customers"); dt.Columns.Add("CustomerID&qu

DataSet和DataTable区别

DataSet和DataTable区别 da.Fill(ds, "alias_1"); //使用DataAdapter的Fill方法(填充),调用SELECT命令,别名 dataGridView8.DataSource = ds.Tables[0]; da.Fill(dt);       //直接填充给dt flex.DataSource = dt; ds.Tables[0]==dt DateSet是数据在内存中的缓存,是保存数据的数据结构,相当于一个虚拟的数据库,他可以包含多个Dat

DataSet、DataTable、DataRow、DataColumn区别及使用实例

DataSet 表示数据在内存中的缓存. 属性 Tables  获取包含在 DataSet 中的表的集合. ds.Tables["sjxx"] DataTable 表示内存中数据的一个表. 公共属性 Columns 获取属于该表的列的集合. DataSet 获取此表所属的 DataSet. DefaultView 获取可能包括筛选视图或游标位置的表的自定义视图. PrimaryKey 获取或设置充当数据表主键的列的数组. Rows 获取属于该表的行的集合. TableName 获取或设

DataSet与DataTable对象

DataSet与DataTable对象 摘自:http://www.cnblogs.com/fttbfttb/articles/1509662.html DataSet对象 DataSet是ADO.NET中最核心的成员之一,是各种基于.NET平台程序语言(如VB.NET.C#.NET.C++.NET)的数据库应用程序开发最常接触的类,这是因为DataSet在ADO.NET实现从数据库中抽取数据的作用.数据抽取后,DataSet就是数据的存放地,它是各种数据源(SQL Server .OLE DB