最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#生成XML的三種途徑小結(jié)

 更新時(shí)間:2013年05月20日 23:45:47   作者:  
為了全面,這里都將XML保存到文件中,有三種生成XML的方式,需要的朋友可以參考下

1。我認(rèn)為是最原始,最基本的一種:利用XmlDocument向一個(gè)XML文件里寫節(jié)點(diǎn),然后再利用XmlDocument保存文件。    
首先加載要寫入的XML文件,但是如果沒有的,就要新建,在新建的過程中,要有寫入的代碼;  

復(fù)制代碼 代碼如下:

            XmlDocument doc = new XmlDocument();
            try
            {
                doc.Load("new.xml");
            }
            catch
            {
                XmlTextWriter xtw = new XmlTextWriter("new.xml", Encoding.UTF8);
                //新建XML文件        
                xtw.WriteStartDocument();
                xtw.WriteStartElement("gnode");
                // gnode根節(jié)點(diǎn)                 
                xtw.WriteStartElement("myxm1");
                // gnode根節(jié)點(diǎn)下的元素myxmls             
                xtw.WriteEndElement();
                xtw.WriteEndElement();
                xtw.WriteEndDocument();
                xtw.Close();
                doc.Load("new.xml");
            }
            XmlNode xn = doc.DocumentElement;
            //找到根節(jié)點(diǎn)     
            XmlElement xe = doc.CreateElement("myxml2");
            //在根節(jié)點(diǎn)下創(chuàng)建元素,如果是屬性,則用XmlAttribute; 
            xe.InnerText = "hahaha";
            //給子節(jié)點(diǎn)寫入文本節(jié)點(diǎn)(值)     
            xn.AppendChild(xe);
            //根節(jié)點(diǎn)將其納入         
            doc.Save("new2.xml");
            //利用XmlDocument保存文件
        }

注意點(diǎn):在新建根節(jié)點(diǎn)的時(shí)候,WriteStartElement,只能嵌套,也就是只能有一個(gè)根節(jié)點(diǎn)。

2。應(yīng)用到數(shù)據(jù)庫,將數(shù)據(jù)庫的DataSet對(duì)象里的值來生成XML文件的元素;

復(fù)制代碼 代碼如下:

   using (SqlConnection con = new SqlConnection("Server=.;DataBase=HGSTUDY;uid=sa;pwd=yao"))
            {
                con.Open();
                SqlCommand command = new SqlCommand("select * from GL_STUDY", con);
                command.CommandType = CommandType.Text;
                DataSet ds = new DataSet("DATASET");
                //DATASET將成為XML文件中的根節(jié)點(diǎn)名稱,否則系統(tǒng)將其命名為NewDataSet      
                SqlDataAdapter sda = new SqlDataAdapter();
                sda.SelectCommand = command;
                sda.Fill(ds, "DATATABLE");
                //DATATABLE為所生成XML文件中的子節(jié)點(diǎn)名稱,否則系統(tǒng)將其命名為Table。   
                ds.WriteXml("dbxml.xml");
                // DataSet的方法WriteXml將數(shù)據(jù)寫入到XML文件,就是這么一句話。如果不保存到文件,直接ds.GetXML()      
            }

3。利用XmlSerializer來將類的屬性值轉(zhuǎn)換為XML文件的元素值。用一個(gè)字符串作為一個(gè)XML文檔中的xmlAttribute或xmlElement。[其元素或?qū)傩杂深惖亩x來設(shè)置(xml串行化)]

using System;System.xml.Serialization;

3.1.先初始化一個(gè)類,設(shè)置屬性值

復(fù)制代碼 代碼如下:

[XmlRoot("Truck")]
                //----設(shè)置作為XML中的根元素名稱  
        public Truck()   
        { }             
        [XmlAttribute("id")]
        //--------設(shè)置作為xml中的屬性    
        public int ID    
            {        
                get{return this._id;} 
                set { this._id = value; }   
            }      
        [XmlElement("chepai")]
        //------設(shè)置作為XML中的元素(默認(rèn)狀態(tài))  
        public string cheID   
        {          
            get {
                return this._cheID;
            }        
            set {
                this._cheID = value;
            }       
        }       
        private int _id = 0; 
        private string _cheID = "";  

3.2.創(chuàng)建XmlSerializer實(shí)例

復(fù)制代碼 代碼如下:

class XXX {  
               XmlSerializer ser = new XmlSerializer(Type.GetType("forxml.truck"));   
               Truck tr = new Truck();     
               tr.ID = 1;    
               tr.cheID = "贛A T34923";
           }

3.3.Serialize方法--完成對(duì)類的串行化          

  XmlTextWriter xtw = new XmlTextWriter("myxml.xml",Encoding.UTF8); 

        用XmlTextWriter 創(chuàng)建一個(gè)XML文件   
         ser.Serialize(xtw, tr);      
         如果只想顯示,可以直接ser.Serialize(Console.Out, tr);
}

個(gè)人總結(jié),這里只敘述了三種方法,靈活應(yīng)用后會(huì)很好,直接輸入,或通過數(shù)據(jù)庫或類都可以。可以用來在C#中對(duì)XML的生成。

相關(guān)文章

  • 解析StreamReader與文件亂碼問題的解決方法

    解析StreamReader與文件亂碼問題的解決方法

    本篇文章是對(duì)StreamReader與文件亂碼問題的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C# 定時(shí)器?;顧C(jī)制引起的內(nèi)存泄露問題解決

    C# 定時(shí)器保活機(jī)制引起的內(nèi)存泄露問題解決

    這篇文章主要介紹了C# 定時(shí)器?;顧C(jī)制引起的內(nèi)存泄露問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • C#設(shè)置頁面單位和縮放的方法

    C#設(shè)置頁面單位和縮放的方法

    這篇文章主要介紹了C#設(shè)置頁面單位和縮放的方法,涉及C#設(shè)置頁面屬性的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • C#訪問SQLServer增刪改查代碼實(shí)例

    C#訪問SQLServer增刪改查代碼實(shí)例

    這篇文章主要為大家詳細(xì)介紹了C#訪問SQLServer增刪改查代碼實(shí)例,感興趣的小伙伴們可以參考一下
    2016-08-08
  • WPF實(shí)現(xiàn)窗體亞克力效果的示例代碼

    WPF實(shí)現(xiàn)窗體亞克力效果的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用WPF實(shí)現(xiàn)窗體亞克力效果,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,感興趣的小伙伴可以了解一下
    2022-10-10
  • C#中DataTable和List互轉(zhuǎn)的示例代碼

    C#中DataTable和List互轉(zhuǎn)的示例代碼

    很多場(chǎng)景下,我們需要將List轉(zhuǎn)換成為DataTable,本文主要介紹了C#中DataTable和List互轉(zhuǎn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • C#實(shí)現(xiàn)微信公眾號(hào)群發(fā)消息(解決一天只能發(fā)一次的限制)實(shí)例分享

    C#實(shí)現(xiàn)微信公眾號(hào)群發(fā)消息(解決一天只能發(fā)一次的限制)實(shí)例分享

    經(jīng)過幾天研究網(wǎng)上的代碼和謝燦大神的幫忙,今天終于用C#實(shí)現(xiàn)了微信公眾號(hào)群發(fā)消息,現(xiàn)在分享一下
    2013-09-09
  • 深入理解.NET中的異步

    深入理解.NET中的異步

    異步編程是程序設(shè)計(jì)的重點(diǎn),在實(shí)際的項(xiàng)目,在大量的數(shù)據(jù)入庫以及查詢數(shù)據(jù)并進(jìn)行計(jì)算的時(shí)候,程序的UI界面往往卡死在那里,這時(shí)候就需要對(duì)計(jì)算時(shí)間限制的過程進(jìn)行異步處理,同時(shí)正確的使用異步編程去處理計(jì)算限制的操作和耗時(shí)IO操作還能提升的應(yīng)用程序的吞吐量及性能
    2021-06-06
  • C#實(shí)現(xiàn)圖書管理系統(tǒng)

    C#實(shí)現(xiàn)圖書管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C#在foreach遍歷刪除集合中元素的三種實(shí)現(xiàn)方法

    C#在foreach遍歷刪除集合中元素的三種實(shí)現(xiàn)方法

    這篇文章主要給大家總結(jié)介紹了關(guān)于C#在foreach遍歷刪除集合中元素的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12

最新評(píng)論

荥阳市| 额尔古纳市| 射洪县| 商都县| 天长市| 凤台县| 贵定县| 子洲县| 泾川县| 基隆市| 巍山| 砀山县| 临武县| 家居| 海兴县| 乐昌市| 竹山县| 罗定市| 金门县| 佛学| 神农架林区| 彩票| 武清区| 黄平县| 宜阳县| 牟定县| 房产| 涟水县| 厦门市| 竹溪县| 张家港市| 昔阳县| 抚顺市| 霸州市| 天水市| 舟曲县| 来凤县| 周宁县| 霸州市| 谷城县| 论坛|