首页 > 代码库 > .net 泛型集合排序,查找

.net 泛型集合排序,查找

using System;using System.Collections.Generic;using System.Web;using System.Web.Services;using System.Web.Script.Serialization;using System.Xml;using System.Collections;using System.Linq;/// <summary>///WSxml 的摘要说明/// </summary>[WebService(Namespace = "http://tempuri.org/")][WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 [System.Web.Script.Services.ScriptService]public class WSxml : System.Web.Services.WebService {    public WSxml () {        //如果使用设计的组件,请取消注释以下行         //InitializeComponent();     }    [WebMethod]    public string HelloWorld() {        return "Hello World";    }    [WebMethod]    public string saveXml(string cName, string age, string mobile, string email, string ads)    {        DateTime dt = DateTime.Now;        string cdate = dt.ToString();        XmlDocument xmldoc = new XmlDocument();        string xmlFilePath = HttpContext.Current.Server.MapPath("~/data/content.xml");        xmldoc.Load(xmlFilePath);        //查找根节点        XmlNode chat = xmldoc.SelectSingleNode("chat");        //使用xpath表达式选择文档中所有的tp子节点        XmlNodeList typeNodeList = xmldoc.SelectNodes("/chat/tp");        string str = string.Empty;        //定义一个List泛型集合        List<string> mlist = new List<string>();        if (typeNodeList != null)        {            string mbl = string.Empty;            foreach (XmlNode tpNode in typeNodeList)            {                //通过Attributes获得属性名字为mobile的属性                mbl = tpNode.Attributes["mobile"].Value;                //循环将mobile加入List泛型集合里                mlist.Add(mbl);            }        }        //查找是否存在List        if (mlist.Contains(mobile))        {            return "您的手机号码已被注册,请勿重复注册";        }        //创建节点        XmlElement infor = xmldoc.CreateElement("tp");        infor.SetAttribute("cName", cName);        infor.SetAttribute("age", age);        infor.SetAttribute("mobile", mobile);        infor.SetAttribute("email", email);        infor.SetAttribute("ads", ads);        infor.SetAttribute("cdate", cdate);        //存入根节点,保存文件        chat.AppendChild(infor);        xmldoc.Save(xmlFilePath);        return "恭喜您注册成功!";    }    [WebMethod]    public string readxmlTable()    {        XmlDocument xmldoc = new XmlDocument();        string xmlFilePath = HttpContext.Current.Server.MapPath("~/data/content.xml");        xmldoc.Load(xmlFilePath);        //使用xpath表达式选择文档中所有的tp子节点        XmlNodeList typeNodeList = xmldoc.SelectNodes("/chat/tp");        string str = string.Empty;        //定义一个SortedDictionary泛型集合        SortedDictionary<string, string> sd = new SortedDictionary<string, string>();        if (typeNodeList != null)        {            string cName = string.Empty, age = string.Empty, mobile = string.Empty, email = string.Empty, ads = string.Empty, cdate = string.Empty;                        foreach (XmlNode tpNode in typeNodeList)            {                //通过Attributes获得属性名字为cName的属性                cName = tpNode.Attributes["cName"].Value;                age = tpNode.Attributes["age"].Value;                mobile = tpNode.Attributes["mobile"].Value;                email = tpNode.Attributes["email"].Value;                ads = tpNode.Attributes["ads"].Value;                cdate = tpNode.Attributes["cdate"].Value;                sd.Add(cdate, cName + "," + age + "," + mobile + "," + email + "," + ads );            }            //foreach (KeyValuePair<string, string> item in sd) 为正序asc            //使用泛型集合和linq将时间类型倒序desc排列            foreach (KeyValuePair<string, string> item in sd.Reverse())            {                str += item.Value + "," + Convert.ToDateTime(item.Key).ToString("yyyy年MM月dd日HH时mm分") + "|";            }        }            return str.Substring(0, str.Length - 1);    }}

 

.net 泛型集合排序,查找