天天看点

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];获取到中文名的内容了

                    }

                }