XML 操作(判断用户登录)
private string usernames = "";
private string passwords = "";
private XmlDocument XmlDoc;
protected void Page_Load(object sender, EventArgs e)
{
usernames = Request.QueryString["username"];
passwords = Request.QueryString["pwd"];
if (!IsPostBack)
{
loadXml();
XmlNodeList nodeList = XmlDoc.SelectSingleNode("Users").ChildNodes;
foreach (XmlNode xn in nodeList)
{
XmlElement xe = (XmlElement)xn;
if (xe.HasChildNodes)
{
string username = "";
string pwd = "";
foreach (XmlNode xx in xe.ChildNodes)
{
XmlElement ee = (XmlElement)xx;
if (ee.Name == "username")
{
username = ee.InnerText;
}
if (ee.Name == "password")
{
pwd = ee.InnerText;
}
}
if (username == usernames)
{
if (xe.HasAttribute("Count") && xe.GetAttributeNode("Count").Value == "3"
&& xe.HasAttribute("LoginDate")
&& DateTime.Parse(xe.GetAttributeNode("LoginDate").Value).AddMinutes(1) >= DateTime.Now)
{
Response.Write("请一分钟后再尝试登陆");
}
if (pwd == passwords)
{
xe.RemoveAttribute("Count");
xe.RemoveAttribute("LoginDate");
XmlDoc.Save(Server.MapPath("User.xml"));
//Response.Redirect("Default2.aspx");
Response.Write("登陆成功");
}
else
{
if (xe.HasAttribute("Count"))
{
if (Convert.ToInt32(xe.Attributes["Count"].InnerText) <= 2)
xe.Attributes["Count"].InnerText = (Convert.ToInt32(xe.Attributes["Count"].InnerText) + 1).ToString();
else if (Convert.ToInt32(xe.Attributes["Count"].InnerText) > 3)
xe.Attributes["Count"].InnerText = "1";
}
else
{
xe.SetAttribute("Count", "1");
}
if (!xe.HasAttribute("LoginDate"))
{
xe.SetAttribute("LoginDate", DateTime.Now.ToString());
}
else if (DateTime.Parse(xe.GetAttributeNode("LoginDate").Value).AddMinutes(1) < DateTime.Now)
{
xe.RemoveAttribute("Count");
xe.RemoveAttribute("LoginDate");
}
XmlDoc.Save(Server.MapPath("User.xml"));
}
}
}
}
}
}
public void loadXml()
{
XmlDoc = new XmlDocument();
XmlDoc.Load(Server.MapPath("User.xml"));
}