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