天天看點

C#,ado.net讀寫xml

1.寫入XML

讀寫xml首先要寫入才能讀取

                       private string sPath = Application.StartupPath + @"\";  //獲得你項目運作的的路徑 比如我的項目運作在C:\\Wac\\EMT_ETS\\ETS\\bin\\   後面的[email protected]是轉義,也 可   以 寫成 +"//"+     .....

                      List<string> xmlList=new List<string>();//執行個體化一個xml對象,用于讀取xml裡面的内容

                   if (Directory.Exists(sPath + @"TEMP\OffLine"))//首先判斷是否存在"TEMP\OffLine“這兩個檔案夾

                    {

                        System.IO.File.Delete(sPath + @"TEMP\OffLine\" + EMT_Config_Layer.EMT_DB_Config.Global.G_UserID + ".Xml");//存在就删除原有的xml

                    }

                    else

                    {

                        Directory.CreateDirectory(sPath + @"TEMP\OffLine");///不存在就建立所需檔案夾

                    } 

                    StringBuilder sb = new StringBuilder();//new string 對象,這裡不直接用string 是因為StringBuilder對象理論上來說想存多少字元都可以

                    sb.Append("<?xml version='1.0' standalone='yes'?>");//添加XML的頭部

                    sb.Append("<module name='lixian' desc='離線'>");//添加XML的注釋

                   //這下面存你需要的資訊

                    sb.Append("<Column name='taskName' text='" + 1 + "'></Column>");//是否離線登入

                    sb.Append("<Column name='taskName' text='" + EMT_Config_Layer.EMT_DB_Config.Global.G_UserID + "'></Column>");//英文名

                    sb.Append("<Column name='taskName' text='" + EMT_Config_Layer.EMT_DB_Config.Global.G_UserName + "'></Column>");//中文名

                    sb.Append("<Column name='taskName' text='" + 123456+ "'></Column>");//密碼

                    sb.Append("</module>");//不要忘記加上結尾

                    XmlDocument doc = new XmlDocument(); 實列化一個XML文檔

                    doc.LoadXml(sb.ToString());//XML寫入内容

                    doc.Save(sPath + @"TEMP\OffLine\" + EMT_Config_Layer.EMT_DB_Config.Global.G_UserID + ".Xml");//在剛建的檔案夾下面建立一個XML檔案,内容就是剛才                 StringBuilder裡的内容

                    //程式走到這裡就已經完成建立一個XML文檔了

                  2  .讀取XML

                  下面來讀取XML裡面的内容,讀取XML相對來說也比較簡單

                     if (System.IO.File.Exists(sPath + @"\Temp\OffLine\" + cboUserId.Text + ".Xml"))//首先判斷相同目錄下是否存XML

                     {

                            XmlDocument doc = new XmlDocument();   // 實列化一個XML文檔

                             string path = sPath + @"\Temp\OffLine\" + cboUserId.Text + ".Xml";

                             doc.Load(path);//将路徑放在.Load方法中

                             if (doc.DocumentElement != null)//判斷是否存在内容

                           {

                                  XmlNode xm = doc.DocumentElement;//将XML文檔放到XMLNode 節點中

                                    XmlNodeList xmllist = xm.ChildNodes; //

                                   foreach (XmlNode node in xmllist)

                                  {

                                          xmlList.Add(node.Attributes["text"].Value);//将值循環放到xmlList中

                                   }

                                 string name=xmlList[2];擷取到中文名的内容了

                    }

                }