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);
}
}
}