- 浏览: 50372 次
- 性别:
- 来自: 武汉
最近访客 更多访客>>
文章分类
最新评论
-
fhqllt:
学习,以前还真没有注意。
js parseInt("08")问题 -
sharong:
匹配HTML标记的正则表达式:/<(.*)>.*& ...
正则表达式(不知道找全了没,还有漏掉的请高手留言相告)
送给大家一个XML与DataSet的相互转换的类:
XmlDatasetConvert 该类提供了四种方法:
1、将xml对象内容字符串转换为DataSet
2、将xml文件转换为DataSet
3、将DataSet转换为xml对象字符串
4、将DataSet转换为xml文件
XmlDatasetConvert.cs
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.IO;
using System.Xml;
namespace XmlDesign
{
class XmlDatasetConvert
{
//将xml对象内容字符串转换为DataSet
public static DataSet ConvertXMLToDataSet(string xmlData)
{
StringReader stream = null;
XmlTextReader reader = null;
try
{
DataSet xmlDS = new DataSet();
stream = new StringReader(xmlData);
//从stream装载到XmlTextReader
reader = new XmlTextReader(stream);
xmlDS.ReadXml(reader);
return xmlDS;
}
catch (System.Exception ex)
{
throw ex;
}
finally
{
if (reader != null) reader.Close();
}
}
//将xml文件转换为DataSet
public static DataSet ConvertXMLFileToDataSet(string xmlFile)
{
StringReader stream = null;
XmlTextReader reader = null;
try
{
XmlDocument xmld = new XmlDocument();
xmld.Load(xmlFile);
DataSet xmlDS = new DataSet();
stream = new StringReader(xmld.InnerXml);
//从stream装载到XmlTextReader
reader = new XmlTextReader(stream);
xmlDS.ReadXml(reader);
//xmlDS.ReadXml(xmlFile);
return xmlDS;
}
catch (System.Exception ex)
{
throw ex;
}
finally
{
if (reader != null) reader.Close();
}
}
//将DataSet转换为xml对象字符串
public static string ConvertDataSetToXML(DataSet xmlDS)
{
MemoryStream stream = null;
XmlTextWriter writer = null;
try
{
stream = new MemoryStream();
//从stream装载到XmlTextReader
writer = new XmlTextWriter(stream, Encoding.Unicode);
//用WriteXml方法写入文件.
xmlDS.WriteXml(writer);
int count = (int)stream.Length;
byte[] arr = new byte[count];
stream.Seek(0, SeekOrigin.Begin);
stream.Read(arr, 0, count);
UnicodeEncoding utf = new UnicodeEncoding();
return utf.GetString(arr).Trim();
}
catch (System.Exception ex)
{
throw ex;
}
finally
{
if (writer != null) writer.Close();
}
}
//将DataSet转换为xml文件
public static void ConvertDataSetToXMLFile(DataSet xmlDS,string xmlFile)
{
MemoryStream stream = null;
XmlTextWriter writer = null;
try
{
stream = new MemoryStream();
//从stream装载到XmlTextReader
writer = new XmlTextWriter(stream, Encoding.Unicode);
//用WriteXml方法写入文件.
xmlDS.WriteXml(writer);
int count = (int)stream.Length;
byte[] arr = new byte[count];
stream.Seek(0, SeekOrigin.Begin);
stream.Read(arr, 0, count);
//返回Unicode编码的文本
UnicodeEncoding utf = new UnicodeEncoding();
StreamWriter sw = new StreamWriter(xmlFile);
sw.WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
sw.WriteLine(utf.GetString(arr).Trim());
sw.Close();
}
catch( System.Exception ex )
{
throw ex;
}
finally
{
if (writer != null) writer.Close();
}
}
}
}
使用示例
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.Data;
namespace XmlDesign
{
class Program
{
static void Main(string[] args)
{
DataSet ds = new DataSet();
转换一个XML文件(本地\网络均可)为一个DataSet#region 转换一个XML文件(本地\网络均可)为一个DataSet
//http://news.baidu.com/n?cmd=1&class=sportnews&tn=rss
//F:\study\001CSharp_Study\002Source\XmlDesign\XmlDesign\Save_Plan.xml
ds = XmlDatasetConvert.ConvertXMLFileToDataSet(@"http://news.baidu.com/n?cmd=1&class=sportnews&tn=rss");
Console.WriteLine("数据集名为\"{0}\",包含{1}个表", ds.DataSetName, ds.Tables.Count);
foreach(DataTable dt in ds.Tables)
{
PrintTableName(dt.TableName);
};
#endregion
构造一个DataSet,并转换为XML字符串#region 构造一个DataSet,并转换为XML字符串
DataSet ds1 = new DataSet();
DataTable dt1 = new DataTable();
dt1.TableName = "test";
dt1.Columns.Add("id");
dt1.Columns.Add("name");
dt1.Rows.Add("i001", "hekui");
dt1.Rows.Add("i002", "liyang");
DataTable dt2 = new DataTable();
dt2.TableName = "test1";
dt2.Columns.Add("bookid");
dt2.Columns.Add("bookname");
dt2.Rows.Add("b001", "书本1");
dt2.Rows.Add("b002", "书本2");
ds1.Tables.Add(dt1);
ds1.Tables.Add(dt2);
ds1.DataSetName = "方案";
string xmlOut = XmlDatasetConvert.ConvertDataSetToXML(ds1);
#endregion
转换一个XML字符串为一个DataSet#region 转换一个XML字符串为一个DataSet
DataSet ds2 = new DataSet();
ds2 = XmlDatasetConvert.ConvertXMLToDataSet(xmlOut);
Console.WriteLine("数据集名为\"{0}\",包含{1}个表", ds2.DataSetName, ds2.Tables.Count);
foreach (DataTable dt in ds2.Tables)
{
PrintTableName(dt.TableName);
};
#endregion
转换一个Dataset为一个XML文件#region 转换一个Dataset为一个XML文件
XmlDatasetConvert.ConvertDataSetToXMLFile(ds2, "c:\\adadsda1.xml");
#endregion
Console.ReadLine();
}
private static void PrintTableName(string tableName)
{
Console.WriteLine(tableName);
}
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/21aspnet/archive/2007/03/22/1537010.aspx
发表评论
-
数据库取值形成xml实现tree
2010-03-29 23:44 592Create three .aspx files TreeV ... -
如何将Excel和xml文件数据保存到数据库
2010-03-29 23:43 756Inherits System.Windows.Forms.F ... -
XML的简单读取与写入
2010-03-29 23:41 631我用的是一种很笨的方法,但可以帮助初学者了解访问XML节点的过 ... -
Asp.net+Xml实现无数据库论坛一点即通
2010-03-29 23:40 628目前,网上论坛各式各 ... -
只要你敢进来,没有学不会xml滴
2010-03-29 23:39 5611、前言本贴绝大部分资源均转自http://www.xml.o ... -
xml操作类(转载)
2010-03-29 23:37 606<%Class XMLDOMDocument Priv ... -
XML的二十个热点问题
2010-03-29 23:35 516翻译:Chen Zhihong 编辑: ... -
在.NET中利用XMLHTTP下载文件
2010-03-29 23:33 723利用XMLHTTP下载文件,和以前的方法一样,先添加引用-CO ... -
asp.net 对xml文件的读写,添加,修改,删除操作
2010-03-29 23:32 707asp.net 对xml文件的读写,添加,修改,删除操作 下面 ... -
用Asp.net实现基于XML的留言簿
2010-03-29 23:30 578一.概要: 留言簿是网站的一个重要组成部分,是访问者发 ... -
判断一个IP区间(或IP)是否被另一个IP区间所包含
2010-03-29 23:25 775以下方法实现判断一个IP是否被一个IP区间所包含 有一些静态 ... -
C#如何取硬件标志
2010-03-29 23:22 676using System; using System.Runt ... -
XML操作类
2010-03-29 23:02 600public class XmlControl { prote ...
相关推荐
轻松实现xml与DataSet的相互转换
XML 和DataSet 之间相互转换,满足你数据处理的需求。
在asp.net中提供了数据集DateSet与Xml转换的类 XmlDatasetConvert code: XmlDatasetConvert 该类提供了四种方法: 1、将xml对象内容字符串转换为DataSet 2、将xml文件转换为DataSet 3、将DataSet转换为...
DataSet Xml 互相转换
C# DataSet和XML文件的相互转换 DataSet和XML文件的相互转换
dataset与xml的相互转换类dataset与xml的相互转换类dataset与xml的相互转换类
XML与DataTable相互转换,可以直接使用
DataSet和XML的相互转换,有兴趣的朋友可以下载看看,很强大
ASP_NET中把xml转为dataset与xml字符串转为dataset及dataset转为xml的代码
xml与dataset介绍及它们之间相互转换的介绍
XMLOperator基础类库,封装xml基础方法,设置节点内容,xml与dataset相互转换,xml节点的增删改。应该会对学习C# xml的同学有帮助
为实现这一目标,该框架的关键技术是如何在Dataset与XML间相互转换,这里发布的压缩文件中包含TADODataset与XML相互转换的源代码: //将TADODataset转换成XML function RecordsetToXML(const ARecordset: ADOInt._...
了解约束和关系之间的相互关系:描述当使用 XML 架构元素在 DataSet 中创建约束时如何隐式地创建关系。 从 XML 推断 DataSet 关系结构:描述在从 XML 元素进行推断时所创建的 DataSet 的结果关系结构(即架构)。...
这些实例描述了数据的使用语法的实例,包括从Connction,Command到DataSet,DataAdapter,DataRelated,DataReader,的语法,也有DataSet与xml文档的交流以及数据库与xml的相互数据转化.其中也有一些图片来总结它们的...
C#文件的读写,其中包含了csv xml dataSet dataTable dataGridView文件格式的互相转化。
14.9.1 把DataSet转换为XML 14.9.2 把DataSet作为XML访问 14.10 总结 第三部分 构建ASP.NET网站 第15章 用户控件 15.1 用户控件基础 15.1.1 创建简单的用户控件 15.1.2 把页面转换成用户控件 15.2 ...
14.9.1 把DataSet转换为XML 514 14.9.2 把DataSet作为XML访问 515 14.10 总结 517 第三部分 构建ASP.NET网站 第15章 用户控件 520 15.1 用户控件基础 520 15.1.1 创建简单的用户控件 521 15.1.2 把...
分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用的属性、方法、类和各种技术,...