有一个关于使用linq去修改xml数据库的问题。
比如给出了一些代码:public class Linq2XmlClass
{
System.Web.UI.Page page = new System.Web.UI.Page();
string filename = "";
public Linq2XmlClass()
{
filename = page.Server.MapPath(@"App_Data/Signup.xml");
}
public object GetAllUsers()
{
XElement users = XElement.Load(filename);
var useraccounts =
from user in users.Elements("UserAccount")
select new
{
Username = user.Element("Username").Value,
Password = user.Element("Password").Value,
Email = user.Element("Email").Value,
SecurityQuestion =
user.Element("SecurityQuestion").Value,
SecurityAnswer = user.Element("SecurityAnswer").Value
};
return useraccounts;
}
public void InsertUser(string username, string password,
string email, string securityQuestion, string securityAnswer)
{
XElement users = XElement.Load(filename);
users.Add(
new XElement("UserAccount",
new XElement("Username", username),
new XElement("Password", password),
new XElement("Email", email),
new XElement("SecurityQuestion", securityQuestion),
new XElement("SecurityAnswer", securityAnswer)
)
);
users.Save(filename);
}
}
要求根据以上代码写出delete user 和update password。
初学linq,不知如何下手。谢谢啦!
比如给出了一些代码:public class Linq2XmlClass
{
System.Web.UI.Page page = new System.Web.UI.Page();
string filename = "";
public Linq2XmlClass()
{
filename = page.Server.MapPath(@"App_Data/Signup.xml");
}
public object GetAllUsers()
{
XElement users = XElement.Load(filename);
var useraccounts =
from user in users.Elements("UserAccount")
select new
{
Username = user.Element("Username").Value,
Password = user.Element("Password").Value,
Email = user.Element("Email").Value,
SecurityQuestion =
user.Element("SecurityQuestion").Value,
SecurityAnswer = user.Element("SecurityAnswer").Value
};
return useraccounts;
}
public void InsertUser(string username, string password,
string email, string securityQuestion, string securityAnswer)
{
XElement users = XElement.Load(filename);
users.Add(
new XElement("UserAccount",
new XElement("Username", username),
new XElement("Password", password),
new XElement("Email", email),
new XElement("SecurityQuestion", securityQuestion),
new XElement("SecurityAnswer", securityAnswer)
)
);
users.Save(filename);
}
}
要求根据以上代码写出delete user 和update password。
初学linq,不知如何下手。谢谢啦!
//自己测试一下>>>删除
XElement myElement = XElement.Load("csdn.xml");
var results = from r in myElement.Elements()
where r.Attribute("Username") == "条件"
select r;
foreach (var r in results)
{
r.Remove();
}
myElement.Save("csdn.xml");
//>>>修改 自己再修改成一个方法就OK!!
XElement myElement = XElement.Load("csdn.xml");
var results = from r in myElement.Elements()
where r.Attribute("Username") == "条件"
select r;
foreach (var r in results)
{
r.Element("Email").SetValue("[email protected]");//更新Email的value
}
myElement.Save("csdn.xml");//保存