日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

XML与DataSet的相互转换

發(fā)布時間:2025/7/14 asp.net 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 XML与DataSet的相互转换 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

from:http://www.cnblogs.com/guoerzzf/archive/2009/04/09/1432668.html

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();
  • ????????????#region?轉換一個XML文件(本地\網(wǎng)絡均可)為一個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("數(shù)據(jù)集名為\"{0}\",包含{1}個表",?ds.DataSetName,?ds.Tables.Count);
  • ????????????foreach?(DataTable?dt?in?ds.Tables)
  • ????????????{
  • ????????????????PrintTableName(dt.TableName);
  • ????????????}
  • ????????????#endregion
  • ????????????#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
  • ????????????#region?轉換一個XML字符串為一個DataSet
  • ????????????DataSet?ds2?=?new?DataSet();
  • ????????????ds2?=?XmlDatasetConvert.ConvertXMLToDataSet(xmlOut);
  • ????????????Console.WriteLine("數(shù)據(jù)集名為\"{0}\",包含{1}個表",?ds2.DataSetName,?ds2.Tables.Count);
  • ????????????foreach?(DataTable?dt?in?ds2.Tables)
  • ????????????{
  • ????????????????PrintTableName(dt.TableName);
  • ????????????}
  • ????????????#endregion
  • ????????????#region?轉換一個Dataset為一個XML文件
  • ????????????XmlDatasetConvert.ConvertDataSetToXMLFile(ds2,?"c:\\adadsda1.xml");
  • ????????????#endregion
  • ????????????Console.ReadLine();
  • ????????}
  • ????????private?static?void?PrintTableName(string?tableName)
  • ????????{
  • ????????????Console.WriteLine(tableName);
  • ????????}
  • ????}
  • }
  • 總結

    以上是生活随笔為你收集整理的XML与DataSet的相互转换的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 青青草狠狠干 | 男女拍拍拍网站 | www.av88| 人妻少妇偷人精品久久久任期 | 久久人精品 | 欧美一区二区三区免费观看 | 国产我不卡 | 波多野结衣中文字幕在线 | 久久接色| 国产一区在线看 | 日韩av大片 | 精品国产av 无码一区二区三区 | 亚洲欧洲精品在线 | 在线观看免费人成视频 | 91色视频在线 | 国产黄片一区二区三区 | 欧美日韩免费一区二区三区 | 日本天堂网在线 | 欧美一区二区三区国产 | 久色成人网 | 国产色综合天天综合网 | 97超碰人人看 | av看片| 黄色成人在线播放 | 视频一区在线播放 | 两女双腿交缠激烈磨豆腐 | www.日本在线视频 | 亚洲欧美一区二区三区四区 | 麻豆区1免费 | 乱h伦h女h在线视频 99999视频 | 成人国产精品久久久网站 | 亚洲av无码电影在线播放 | 欧美成人hd| 黑人玩弄人妻一区二区三区影院 | 少妇无套内谢免费视频 | 丁香婷婷久久 | 久久精品国产精品 | 国产福利片在线 | 天天天天天天天干 | 伊人av综合| 91成人在线观看喷潮蘑菇 | 亚洲男人在线 | 男女插插插视频 | 精品123区 | 成人免费视频国产免费麻豆 | 中文字幕免费在线播放 | 久久成人免费视频 | 午夜精品福利一区二区蜜股av | 国产卡一卡二卡三无线乱码新区 | 日本三级精品 | 亚州激情| 91pron在线 | 97人妻精品一区二区三区免费 | 成人免费视频国产免费 | av中文资源网 | 久久综合色88 | 成人高潮片免费 | 亚洲午夜久久 | 欧美整片第一页 | 丰满孕妇性春猛交xx大陆 | 四虎影视最新网址 | 欧美成人免费观看视频 | 青娱乐在线视频观看 | 天天精品 | 蜜臀视频一区二区三区 | xxxx国产精品 | 国产呦系列 | 91成人网页 | 国产传媒第一页 | 久久国产色av | 日韩成人免费观看 | 美女超碰在线 | 国产51页| 影院色原网站 | 亚洲琪琪| 三级黄色网络 | 亚洲第一伊人 | 免费看的一级片 | 一区二区在线观看免费 | 在线高清观看免费观看 | 国产精品无码久久久久久 | 狠狠干伊人网 | 亚洲精品成人在线视频 | 精品国产av一区二区 | 天天透天天操 | 欧美一区在线观看视频 | 一区二区美女视频 | 亚洲AV无码成人精品区东京热 | 成人精品一区二区三区中文字幕 | 五月激情综合 | 日韩干| 91亚洲精品在线 | 99视频一区 | 国产精品不卡一区二区三区 | 黄色在线观看www | 日本一区不卡在线 | 精品熟女一区二区三区 | 在线观看免费视频一区二区 | 五月婷婷丁香花 |