xml格式的邮件地址列表如下格式 <?xml version="1.0" encoding="utf-8" ?> <MailTo> <mail> <addr>aa@163.com</addr> <name>aa</name> <cc>0</cc> </mail> <mail> <addr>bb@qq.com</addr> <name>bb</name> <cc>0</cc> </mail> <mail> <addr>cc@gmail.com</addr> <name>cc</name> <cc>1</cc> </mail> </MailTo> MailModel.cs using System; namespace IDCardCount { [Serializable] class MailModel { private string _uname; private string _mail; /// <summary> /// 用户名 /// </summary> public string Uname { set { _uname = value; } get{return _uname;} } /// <summary> /// 邮件地址 /// </summary> public string Mail { set { _mail = value; } get { return _mail; } } } } XmlCache.cs using System.Collections.Generic; using System.Xml; using System.IO; namespace IDCardCount { class XmlCache { private static MemoryStream myStream = new MemoryStream(); /// <summary> /// 读取xml文档 /// </summary> /// <returns></returns> private static XmlDocument ReadXmlDoc() { XmlDocument ObjDoc = new XmlDocument(); ObjDoc.Load("C://MailTo.xml"); return ObjDoc; } /// <summary> /// 保存xml到内存 /// </summary> private static void SaveXml() { XmlDocument ObjDoc = new XmlDocument(); ObjDoc.Load("C://MailTo.xml"); ObjDoc.Save(myStream); } /// <summary> /// 内存读取xml,如果不存在在载人xml后读取 /// </summary> /// <returns></returns> private static XmlDocument GetXml() { string result = string.Empty; if (myStream.Length == 0) { SaveXml(); } myStream.Position = 0; StreamReader myReader = new StreamReader(myStream); result = myReader.ReadToEnd(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(result); return xmlDoc; } /// <summary> /// 获取指定类型用户邮件信息 /// </summary> /// <param name="cc">是否抄送 1 是 0 否</param> public static List<MailModel> GetMail(string cc) { List<MailModel> mm = new List<MailModel>(); //XmlDocument xmlDoc = ReadXmlDoc(); XmlDocument xmlDoc = GetXml(); XmlNode xmlNode = xmlDoc.SelectSingleNode("MailTo"); foreach (XmlNode mail in xmlNode) { if (mail.SelectSingleNode("cc") != null && mail.SelectSingleNode("cc").InnerText.Equals(cc)) { MailModel m = new MailModel(); m.Uname = mail.SelectSingleNode("name").InnerText; m.Mail = mail.SelectSingleNode("addr").InnerText; mm.Add(m); } } return mm; } } } 获取 foreach (MailModel m in XmlCache.GetMail("0")) { string name = m.Uname; string mail = m.Mail; }