LinqtoXml的基本操作

//无条件查询

           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"));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值