//无条件查询
XDocument doc = XDocument.Load(Server.MapPath("~/app_data/Books.xml"));
IEnumerable<XElement> elements = doc.Element("Books").Elements("book");
var items = elements.Select(d =>
new
{
bookid=d.Element("bookid").Value,
bookname=d.Element("bookname").Value,
author=d.Element("author").Value
}
);
//有条件的查询并赋值
string bookid = Request.QueryString["id"].ToString();
XDocument doc = XDocument.Load(Server.MapPath("~/app_data/Books.xml"));
IEnumerable<XElement> elements = doc.Element("Books").Elements("book");
var result = from d in doc.Descendants("book")
where d.Element("bookid").Value == bookid
select new book
{
bookid = d.Element("bookid").Value,
bookname = d.Element("bookname").Value,
author = d.Element("author").Value
};
foreach (var item in result)
{
this.Label1.Text = item.bookid;
this.TextBox1.Text = item.bookname;
this.TextBox2.Text = item.author;
}
// 修改
XDocument doc = XDocument.Load(Server.MapPath("~/app_data/Books.xml"));
foreach(XElement element in doc.Descendants("book"))
{
if(element.Element("bookid").Value==Label1.Text)
{
element.Element("bookname").Value = this.TextBox1.Text;
element.Element("author").Value = this.TextBox2.Text;
}
}
doc.Save(Server.MapPath("~/app_data/Books.xml"));
//删除
XDocument doc = XDocument.Load(Server.MapPath("~/app_data/Books.xml"));
var result = from d in doc.Descendants("book")
where d.Element("bookid").Value == e.CommandArgument.ToString()
select d;
result.Remove();
doc.Save(Server.MapPath("~/app_data/Books.xml"));
//添加
Random r = new Random();
XDocument doc = XDocument.Load(Server.MapPath("~/app_data/Books.xml"));
XElement xml = new XElement("book",
new XElement("bookid", r.Next(10, 100)),
new XElement("bookname", this.TextBox1.Text),
new XElement("author", this.TextBox2.Text)
);
doc.Element("Books").Add(xml);
doc.Save(Server.MapPath("~/app_data/Books.xml"));