a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

C#生成XML的三種途徑小結

2020-01-24 03:16:44
字體:
來源:轉載
供稿:網友

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

復制代碼 代碼如下:

            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根節點                 
                xtw.WriteStartElement("myxm1");
                // gnode根節點下的元素myxmls             
                xtw.WriteEndElement();
                xtw.WriteEndElement();
                xtw.WriteEndDocument();
                xtw.Close();
                doc.Load("new.xml");
            }
            XmlNode xn = doc.DocumentElement;
            //找到根節點     
            XmlElement xe = doc.CreateElement("myxml2");
            //在根節點下創建元素,如果是屬性,則用XmlAttribute; 
            xe.InnerText = "hahaha";
            //給子節點寫入文本節點(值)     
            xn.AppendChild(xe);
            //根節點將其納入         
            doc.Save("new2.xml");
            //利用XmlDocument保存文件
        }

注意點:在新建根節點的時候,WriteStartElement,只能嵌套,也就是只能有一個根節點。

2。應用到數據庫,將數據庫的DataSet對象里的值來生成XML文件的元素;

復制代碼 代碼如下:

   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文件中的根節點名稱,否則系統將其命名為NewDataSet      
                SqlDataAdapter sda = new SqlDataAdapter();
                sda.SelectCommand = command;
                sda.Fill(ds, "DATATABLE");
                //DATATABLE為所生成XML文件中的子節點名稱,否則系統將其命名為Table。   
                ds.WriteXml("dbxml.xml");
                // DataSet的方法WriteXml將數據寫入到XML文件,就是這么一句話。如果不保存到文件,直接ds.GetXML()      
            }

3。利用XmlSerializer來將類的屬性值轉換為XML文件的元素值。用一個字符串作為一個XML文檔中的xmlAttribute或xmlElement。[其元素或屬性由類的定義來設置(xml串行化)]

using System;System.xml.Serialization;

3.1.先初始化一個類,設置屬性值

復制代碼 代碼如下:

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

3.2.創建XmlSerializer實例

復制代碼 代碼如下:

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

3.3.Serialize方法--完成對類的串行化          

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

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

個人總結,這里只敘述了三種方法,靈活應用后會很好,直接輸入,或通過數據庫或類都可以。可以用來在C#中對XML的生成。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黑人精品xxx一区一二区 | 手机看片国产精品 | 欧美激情一区二区三区在线观看 | 久久久久亚洲精品国产 | 国产福利91精品 | 日韩精品一区在线 | 美女久久久久久久久久久 | 欧美日韩免费网站 | 久久69国产一区二区蜜臀 | 亚洲成人av电影 | 久久国产精品免费一区二区三区 | 国产成人精品大尺度在线观看 | 97国产一区二区精品久久呦 | 日韩精品在线播放 | 成人av播放 | 精品影视 | 青草视频在线免费观看 | 99热这里都是精品 | 亚洲男人天堂2024 | 日韩欧美不卡 | 中文字幕高清 | 性人久久久| 欧美日韩在线免费观看 | 日韩精品久久久久 | 久久午夜精品影院一区 | 在线免费中文字幕 | 欧美在线视频网站 | 久久亚洲网 | 国产免费自拍av | 北条麻妃99精品青青久久主播 | 91麻豆精品一二三区在线 | 欧美一级内谢 | 午夜视频在线观看网址 | 欧美一级免费在线观看 | 午夜社区| 黄桃av| 亚洲成人精品视频 | 久久精品国产v日韩v亚洲 | 久草视频首页 | 国产成人久久777777 | 中文字幕免费观看 |