午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    XML與DataSet的相互轉(zhuǎn)換類(lèi)
    來(lái)源:易賢網(wǎng) 閱讀:884 次 日期:2014-08-18 16:17:43
    溫馨提示:易賢網(wǎng)小編為您整理了“XML與DataSet的相互轉(zhuǎn)換類(lèi)”,方便廣大網(wǎng)友查閱!

    送給大家一個(gè)XML與DataSet的相互轉(zhuǎn)換的類(lèi):

    XmlDatasetConvert 該類(lèi)提供了四種方法:

    1、將xml對(duì)象內(nèi)容字符串轉(zhuǎn)換為DataSet

    2、將xml文件轉(zhuǎn)換為DataSet

    3、將DataSet轉(zhuǎn)換為xml對(duì)象字符串

    4、將DataSet轉(zhuǎn)換為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對(duì)象內(nèi)容字符串轉(zhuǎn)換為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文件轉(zhuǎn)換為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轉(zhuǎn)換為xml對(duì)象字符串

    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方法寫(xiě)入文件.

    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轉(zhuǎn)換為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方法寫(xiě)入文件.

    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("");

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

    轉(zhuǎn)換一個(gè)XML文件(本地/網(wǎng)絡(luò)均可)為一個(gè)DataSet#region 轉(zhuǎn)換一個(gè)XML文件(本地/網(wǎng)絡(luò)均可)為一個(gè)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(@"

    Console.WriteLine("數(shù)據(jù)集名為/"{0}/",包含{1}個(gè)表", ds.DataSetName, ds.Tables.Count);

    foreach(DataTable dt in ds.Tables)

    {

    PrintTableName(dt.TableName);

    };

    #endregion

    構(gòu)造一個(gè)DataSet,并轉(zhuǎn)換為XML字符串#region 構(gòu)造一個(gè)DataSet,并轉(zhuǎn)換為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", "書(shū)本1");

    dt2.Rows.Add("b002", "書(shū)本2");

    ds1.Tables.Add(dt1);

    ds1.Tables.Add(dt2);

    ds1.DataSetName = "方案";

    string xmlOut = XmlDatasetConvert.ConvertDataSetToXML(ds1);

    #endregion

    轉(zhuǎn)換一個(gè)XML字符串為一個(gè)DataSet#region 轉(zhuǎn)換一個(gè)XML字符串為一個(gè)DataSet

    DataSet ds2 = new DataSet();

    ds2 = XmlDatasetConvert.ConvertXMLToDataSet(xmlOut);

    Console.WriteLine("數(shù)據(jù)集名為/"{0}/",包含{1}個(gè)表", ds2.DataSetName, ds2.Tables.Count);

    foreach (DataTable dt in ds2.Tables)

    {

    PrintTableName(dt.TableName);

    };

    #endregion

    轉(zhuǎn)換一個(gè)Dataset為一個(gè)XML文件#region 轉(zhuǎn)換一個(gè)Dataset為一個(gè)XML文件

    XmlDatasetConvert.ConvertDataSetToXMLFile(ds2, "c://adadsda1.xml");

    #endregion

    Console.ReadLine();

    }

    private static void PrintTableName(string tableName)

    {

    Console.WriteLine(tableName);

    }

    }

    }

    更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄

    更多信息請(qǐng)查看CMS教程
    易賢網(wǎng)手機(jī)網(wǎng)站地址:XML與DataSet的相互轉(zhuǎn)換類(lèi)
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢(xún)回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢(xún)?yōu)闇?zhǔn)!
    相關(guān)閱讀CMS教程

    2025國(guó)考·省考課程試聽(tīng)報(bào)名

    • 報(bào)班類(lèi)型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢(xún) | 簡(jiǎn)要咨詢(xún)須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專(zhuān)用圖標(biāo)
    聯(lián)系電話(huà):0871-65099533/13759567129 獲取招聘考試信息及咨詢(xún)關(guān)注公眾號(hào):hfpxwx
    咨詢(xún)QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專(zhuān)用圖標(biāo)