C# xml 文件的简单操作
2013-12-20 14:53
363 查看
XML 文件格式
<?xml version="1.0" encoding="utf-8"?>
<foot>
<Coordinator Id="1" ImageUrl="E:\WF_PicFactory\bin\Debug..\..\..\Images\CoordinatorPic\20131213082640.png" CoordName="p1" PhoneNo="123456754" Statue="1" dataTimes="2013/12/13" />
<Coordinator Id="2" ImageUrl="E:\WF_PicFactory\bin\Debug..\..\..\Images\CoordinatorPic\20131213082652.png" CoordName="p2" PhoneNo="123456754" Statue="1" dataTimes="2013/12/13" />
<Coordinator Id="3" ImageUrl="E:\WF_PicFactory\bin\Debug..\..\..\Images\CoordinatorPic\20131213082659.png" CoordName="p3" PhoneNo="123456754" Statue="2" dataTimes="2013/12/13" />
<Coordinator Id="4" ImageUrl="E:\WF_PicFactory\bin\Debug..\..\..\Images\CoordinatorPic\20131213082708.png" CoordName="p4" PhoneNo="123456754" Statue="2" dataTimes="2013/12/13" />
<Coordinator Id="5" ImageUrl="E:\WF_PicFactory\bin\Debug..\..\..\Images\CoordinatorPic\20131213082718.png" CoordName="p5" PhoneNo="123456754" Statue="3" dataTimes="2013/12/13" />
<Coordinator Id="6" ImageUrl="E:\WF_PicFactory\bin\Debug..\..\..\Images\CoordinatorPic\20131213082724.png" CoordName="p6" PhoneNo="123456754" Statue="3" dataTimes="2013/12/13" />
<Coordinator Id="7" ImageUrl="E:\WF_PicFactory\bin\Debug..\..\..\Images\CoordinatorPic\20131213082733.png" CoordName="p7" PhoneNo="123456754" Statue="0" dataTimes="2013/12/13" />
<Coordinator Id="8" ImageUrl="E:\WF_PicFactory\bin\Debug..\..\..\Images\CoordinatorPic\20131213082741.png" CoordName="p8" PhoneNo="123456754" Statue="0" dataTimes="2013/12/13" />
</foot>
XmlDocument xmldoc = new XmlDocument();
string docpath = Application.StartupPath + @"..\..\..\ConfigXml\CoordMsg.xml";//存放值班人员信息Xml文件路径
/// <summary>
/// 获取所有Coordinators对象
/// 获取所有值班员工信息
/// </summary>
/// <returns></returns>
private List<Coordinator> GetCdinator()
{
try
{
List<Coordinator> cdinators = new List<Coordinator>();
xmldoc.Load(docpath);
XmlNodeList nodelist = xmldoc.SelectSingleNode("foot").ChildNodes;
foreach (XmlNode XN in nodelist)
{
Coordinator cd = new Coordinator();
cd.Id = XN.Attributes["Id"].Value;
cd.CoordPicUrl = XN.Attributes["ImageUrl"].Value;
cd.CoordName = XN.Attributes["CoordName"].Value;
cd.Statue = XN.Attributes["Statue"].Value;
cd.PhoneNo = XN.Attributes["PhoneNo"].Value;
cd.dataTimes = XN.Attributes["dataTimes"].Value;
cdinators.Add(cd);
}
return cdinators;
}
catch (Exception err)
{
//MessageBox.Show("获取值班人员信息失败!失败原因:" + err.Message, "提示信息",
// MessageBoxButtons.OK, MessageBoxIcon.Information);
//Application.Exit();
return null;
}
}
/// <summary>
/// 添加员工信息数据到存储数据文件
/// </summary>
/// <param name="cdinator"></param>
private void AddCoordinatorToDataFile(Coordinator cdinator)
{
try
{
xmldoc.Load(docpath);
XmlNode Foot = xmldoc.SelectSingleNode("foot");
XmlElement NewCd = xmldoc.CreateElement("Coordinator");
NewCd.SetAttribute("Id", cdinator.Id);
NewCd.SetAttribute("ImageUrl", cdinator.CoordPicUrl);
NewCd.SetAttribute("CoordName", cdinator.CoordName);
NewCd.SetAttribute("PhoneNo", cdinator.PhoneNo);
NewCd.SetAttribute("Statue", "4");
NewCd.SetAttribute("dataTimes", cdinator.dataTimes);
Foot.AppendChild(NewCd);
xmldoc.Save(docpath);
if (!string.IsNullOrEmpty(cdinator.CoordPicUrl))
{
File.Copy(LocalPicUrl, CoordPicUrl, true);//数据存储到配置文件后再上传图片到服务器
}
}
catch (Exception err)
{
MessageBox.Show("添加员工信息失败!失败原因:" + err.Message, "提示信息",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
/// <summary>
/// 变更修改的数据到数据文件
/// </summary>
/// <param name="cdinator"></param>
private void ModifyCoordinatorToDataFile(Coordinator cdinator)
{
try
{
xmldoc.Load(docpath);
XmlNodeList nodelist = xmldoc.SelectSingleNode("foot").ChildNodes;
foreach (XmlNode XN in nodelist)
{
if (XN.Attributes["Id"].Value.ToString() == cdinator.Id)
{
XN.Attributes["CoordName"].Value = cdinator.CoordName;
XN.Attributes["PhoneNo"].Value = cdinator.PhoneNo;
if (!string.IsNullOrEmpty(CoordPicUrl))
{
XN.Attributes["ImageUrl"].Value = CoordPicUrl;
File.Copy(LocalPicUrl, CoordPicUrl, true);//数据存储到配置文件后再上传图片到服务器
File.Delete(cdinator.CoordPicUrl);//删除旧图片 引发了线程问题,图片在另一个进程中使用(已解决)
}
xmldoc.Save(docpath);
}
}
}
catch (Exception err)
{
MessageBox.Show("修改员工信息失败!失败原因:" + err.Message, "提示信息",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
/// <summary>
/// 从值班员工表中删除指定员工的信息
/// </summary>
/// <param name="cdinator">选中员工的信息</param>
private void DeleteCoordinator(Coordinator cdinator)
{
try
{
xmldoc.Load(docpath);
XmlNode foot = xmldoc.SelectSingleNode("foot");
XmlNodeList nodelist = xmldoc.SelectSingleNode("foot").ChildNodes;
foreach (XmlNode XN in nodelist)
{
if (XN.Attributes["Id"].Value.ToString() == cdinator.Id)
{
if (!string.IsNullOrEmpty( cdinator.CoordPicUrl))
{
File.Delete(cdinator.CoordPicUrl);//删除员工图片
}
foot.RemoveChild(XN);
}
}
xmldoc.Save(docpath);
}
catch (Exception err)
{
MessageBox.Show("删除员工信息失败!失败原因:" + err.Message, "提示信息",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<foot>
<Coordinator Id="1" ImageUrl="E:\WF_PicFactory\bin\Debug..\..\..\Images\CoordinatorPic\20131213082640.png" CoordName="p1" PhoneNo="123456754" Statue="1" dataTimes="2013/12/13" />
<Coordinator Id="2" ImageUrl="E:\WF_PicFactory\bin\Debug..\..\..\Images\CoordinatorPic\20131213082652.png" CoordName="p2" PhoneNo="123456754" Statue="1" dataTimes="2013/12/13" />
<Coordinator Id="3" ImageUrl="E:\WF_PicFactory\bin\Debug..\..\..\Images\CoordinatorPic\20131213082659.png" CoordName="p3" PhoneNo="123456754" Statue="2" dataTimes="2013/12/13" />
<Coordinator Id="4" ImageUrl="E:\WF_PicFactory\bin\Debug..\..\..\Images\CoordinatorPic\20131213082708.png" CoordName="p4" PhoneNo="123456754" Statue="2" dataTimes="2013/12/13" />
<Coordinator Id="5" ImageUrl="E:\WF_PicFactory\bin\Debug..\..\..\Images\CoordinatorPic\20131213082718.png" CoordName="p5" PhoneNo="123456754" Statue="3" dataTimes="2013/12/13" />
<Coordinator Id="6" ImageUrl="E:\WF_PicFactory\bin\Debug..\..\..\Images\CoordinatorPic\20131213082724.png" CoordName="p6" PhoneNo="123456754" Statue="3" dataTimes="2013/12/13" />
<Coordinator Id="7" ImageUrl="E:\WF_PicFactory\bin\Debug..\..\..\Images\CoordinatorPic\20131213082733.png" CoordName="p7" PhoneNo="123456754" Statue="0" dataTimes="2013/12/13" />
<Coordinator Id="8" ImageUrl="E:\WF_PicFactory\bin\Debug..\..\..\Images\CoordinatorPic\20131213082741.png" CoordName="p8" PhoneNo="123456754" Statue="0" dataTimes="2013/12/13" />
</foot>
XmlDocument xmldoc = new XmlDocument();
string docpath = Application.StartupPath + @"..\..\..\ConfigXml\CoordMsg.xml";//存放值班人员信息Xml文件路径
/// <summary>
/// 获取所有Coordinators对象
/// 获取所有值班员工信息
/// </summary>
/// <returns></returns>
private List<Coordinator> GetCdinator()
{
try
{
List<Coordinator> cdinators = new List<Coordinator>();
xmldoc.Load(docpath);
XmlNodeList nodelist = xmldoc.SelectSingleNode("foot").ChildNodes;
foreach (XmlNode XN in nodelist)
{
Coordinator cd = new Coordinator();
cd.Id = XN.Attributes["Id"].Value;
cd.CoordPicUrl = XN.Attributes["ImageUrl"].Value;
cd.CoordName = XN.Attributes["CoordName"].Value;
cd.Statue = XN.Attributes["Statue"].Value;
cd.PhoneNo = XN.Attributes["PhoneNo"].Value;
cd.dataTimes = XN.Attributes["dataTimes"].Value;
cdinators.Add(cd);
}
return cdinators;
}
catch (Exception err)
{
//MessageBox.Show("获取值班人员信息失败!失败原因:" + err.Message, "提示信息",
// MessageBoxButtons.OK, MessageBoxIcon.Information);
//Application.Exit();
return null;
}
}
/// <summary>
/// 添加员工信息数据到存储数据文件
/// </summary>
/// <param name="cdinator"></param>
private void AddCoordinatorToDataFile(Coordinator cdinator)
{
try
{
xmldoc.Load(docpath);
XmlNode Foot = xmldoc.SelectSingleNode("foot");
XmlElement NewCd = xmldoc.CreateElement("Coordinator");
NewCd.SetAttribute("Id", cdinator.Id);
NewCd.SetAttribute("ImageUrl", cdinator.CoordPicUrl);
NewCd.SetAttribute("CoordName", cdinator.CoordName);
NewCd.SetAttribute("PhoneNo", cdinator.PhoneNo);
NewCd.SetAttribute("Statue", "4");
NewCd.SetAttribute("dataTimes", cdinator.dataTimes);
Foot.AppendChild(NewCd);
xmldoc.Save(docpath);
if (!string.IsNullOrEmpty(cdinator.CoordPicUrl))
{
File.Copy(LocalPicUrl, CoordPicUrl, true);//数据存储到配置文件后再上传图片到服务器
}
}
catch (Exception err)
{
MessageBox.Show("添加员工信息失败!失败原因:" + err.Message, "提示信息",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
/// <summary>
/// 变更修改的数据到数据文件
/// </summary>
/// <param name="cdinator"></param>
private void ModifyCoordinatorToDataFile(Coordinator cdinator)
{
try
{
xmldoc.Load(docpath);
XmlNodeList nodelist = xmldoc.SelectSingleNode("foot").ChildNodes;
foreach (XmlNode XN in nodelist)
{
if (XN.Attributes["Id"].Value.ToString() == cdinator.Id)
{
XN.Attributes["CoordName"].Value = cdinator.CoordName;
XN.Attributes["PhoneNo"].Value = cdinator.PhoneNo;
if (!string.IsNullOrEmpty(CoordPicUrl))
{
XN.Attributes["ImageUrl"].Value = CoordPicUrl;
File.Copy(LocalPicUrl, CoordPicUrl, true);//数据存储到配置文件后再上传图片到服务器
File.Delete(cdinator.CoordPicUrl);//删除旧图片 引发了线程问题,图片在另一个进程中使用(已解决)
}
xmldoc.Save(docpath);
}
}
}
catch (Exception err)
{
MessageBox.Show("修改员工信息失败!失败原因:" + err.Message, "提示信息",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
/// <summary>
/// 从值班员工表中删除指定员工的信息
/// </summary>
/// <param name="cdinator">选中员工的信息</param>
private void DeleteCoordinator(Coordinator cdinator)
{
try
{
xmldoc.Load(docpath);
XmlNode foot = xmldoc.SelectSingleNode("foot");
XmlNodeList nodelist = xmldoc.SelectSingleNode("foot").ChildNodes;
foreach (XmlNode XN in nodelist)
{
if (XN.Attributes["Id"].Value.ToString() == cdinator.Id)
{
if (!string.IsNullOrEmpty( cdinator.CoordPicUrl))
{
File.Delete(cdinator.CoordPicUrl);//删除员工图片
}
foot.RemoveChild(XN);
}
}
xmldoc.Save(docpath);
}
catch (Exception err)
{
MessageBox.Show("删除员工信息失败!失败原因:" + err.Message, "提示信息",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
相关文章推荐
- 多文件上传与简单操作文件上传实例(文件上传,自动重命名,自动添加文件夹)
- iOS 简单文件操作
- C++简单文件操作
- devi into python 笔记(五)异常 文件操作 sys os glob模块简单实用
- 简单的对文件操作,如复制,读,写
- 简单sevelet(用户名密码)验证--文件操作
- Java本地文件操作(六)文件的简单读写
- html制作简单框架网页二 实现自己的影音驿站 操作步骤及源文件下载 (可播放mp4、avi、mpg、asx、swf各种文件的视频播放代码)
- 攻城狮在路上(叁)Linux(十八)--- 文件系统的简单操作
- android之File文件简单操作
- 简单sql查询接口(需要在文件中指定conn才能进行sql语句操作)
- 【QT练习】文件简单读写操作
- golang 文件简单操作
- 简单的终端操作--for 更新上传文件
- Linux的简单shell脚本中修改文件操作
- 使用pydicom读取dicom文件,并对文件做一些简单操作
- 对ppt文件的一些简单操作
- 文件的简单读写操作,我有加注释!FileHelper
- 操作文件方法简单总结(File,Directory,StreamReader,StreamWrite ) 转
- 简单的XML操作:XML文件创建