xml的读取(曾删改)

Posted manwwx129

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xml的读取(曾删改)相关的知识,希望对你有一定的参考价值。

先定义 一个方法显示查询出来的数据

   private void showInfoByElements(IEnumerable<XElement> elements)
       {
           List<BookModel> modelList = new List<BookModel>();//BookModel   对应的读取数据的实体类
           foreach (var ele in elements)
           {
               BookModel model = new BookModel();
               model.BookAuthor = ele.Element("author").Value;
               model.BookName = ele.Element("title").Value;
               model.BookPrice = Convert.ToDouble(ele.Element("price").Value);
              model.BookISBN=ele.Attribute("ISBN").Value;
              model.BookType=ele.Attribute("Type").Value;
              
              modelList.Add(model);
          }
          dgvBookInfo.DataSource = modelList;
      }

读取所有的数据
直接找到元素为book的这个结点,然后遍历读取所有的结果.

    private void btnReadAll_Click(object sender, EventArgs e)
       {
          XElement xe = XElement.Load(@"....Book.xml");//xml文件所在位置
           IEnumerable<XElement> elements = from ele in xe.Elements("book")
                                            select ele;//linq 方式查询xml内容
           showInfoByElements(elements);
      }

删除选中的数据

        XElement xe = XElement.Load(@"....Book.xml");
              IEnumerable<XElement> elements = from ele in xe.Elements("book")
                                                where (string)ele.Attribute("ISBN") == id
                                               select ele;
              {
              if (elements.Count() > 0)
                  elements.First().Remove();
              }
              xe.Save(@"....Book.xml");//更新

插入一条数据

       XElement xe = XElement.Load(@"....Book.xml");
            XElement record = new XElement(
            new XElement("book",
            new XAttribute("Type", "选修课"),
            new XAttribute("ISBN","7-111-19149-1"),
            new XElement("title", "计算机操作系统"),
            new XElement("author", "7-111-19149-1"),
           new XElement("price", 28.00)));
           xe.Add(record);
           xe.Save(@"....Book.xml");

以上是关于xml的读取(曾删改)的主要内容,如果未能解决你的问题,请参考以下文章