linq to xml(增删改查)

xml文件

<?xml version="1.0" encoding="utf-8"?>
<bookstore>
  <!--记录书本的信息-->
  <book Type="必修课" ISBN="7-111-19149-2">
    <title>数据结构</title>
    <author>严蔚敏</author>
    <price>30.00</price>
  </book>
  <book Type="必修课" ISBN="7-111-19149-3">
    <title>路由型与交换型互联网基础</title>
    <author>程庆梅</author>
    <price>27.00</price>
  </book>
  <book Type="选修课" ISBN="7-111-19149-1">
    <title>计算机操作系统</title>
    <author>张文明</author>
    <price>28</price>
  </book>
</bookstore>

加载

 string path = @"C:\Users\asus\Desktop\test.xml";
        XElement xe;
        public MainWindow()
        {
            InitializeComponent();
           xe= XElement.Load(path);
        }

自定义一个类

 public class BookModel
        {
            public BookModel()
            { }
            /// <summary> /// 所对应的课程类型 /// </summary> private string bookType; public string BookType { get { return bookType; } set { bookType = value; } } /// <summary> /// 书所对应的ISBN号 /// </summary> private string bookISBN; public string BookISBN { get { return bookISBN; } set { bookISBN = value; } } /// <summary> /// 书名 /// </summary> private string bookName; public string BookName { get { return bookName; } set { bookName = value; } } /// <summary> /// 作者 /// </summary> private string bookAuthor; public string BookAuthor { get { return bookAuthor; } set { bookAuthor = value; } } /// <summary> /// 价格 /// </summary> private double bookPrice; public double BookPrice { get { return bookPrice; } set { bookPrice = value; } } }

  private void Button_Click(object sender, RoutedEventArgs e)
        {
            
            XElement record = new XElement(
               new XElement("book",
               new XAttribute("Type", "选修课"),
              new XAttribute("ISBN", "7-111-19149-1"),
               new XElement("title", "计算机操作系统"),
               new XElement("author", "张文明"),
              new XElement("price", 28.00)));
                         xe.Add(record);
                         xe.Save(path);
        }

  private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            foreach (var item in xe.Elements("book").Where(x => x.Attribute("ISBN").Value== "7-111-19149-1").ToList())
            {
                item.Remove();
            }
            xe.Save(path);
        }

 private void Button_Click_2(object sender, RoutedEventArgs e)
        {
            foreach (var item in xe.Elements("book").Where(x => x.Attribute("ISBN").Value == "7-111-19149-1").ToList())
            {
                item.Element("title").Value = "test";
            }
            xe.Save(path);
        }
 

   private void Button_Click_3(object sender, RoutedEventArgs e)
        {
            List<BookModel> bookModelList = new List<BookModel>();
            foreach (var item in xe.Elements("book").Where(x => x.Attribute("ISBN").Value == "7-111-19149-1").ToList())
            {
                
                BookModel bookModel = new BookModel();
                bookModel.BookType = item.Attribute("Type").Value;
                bookModel.BookISBN = item.Attribute("ISBN").Value;
                bookModel.BookName = item.Element("title").Value;
                bookModel.BookPrice =Convert.ToDouble( item.Element("price").Value);
                bookModel.BookAuthor = item.Element("author").Value;
                bookModelList.Add(bookModel);
            }
            dg1.ItemsSource = bookModelList;
        }

猜你喜欢

转载自www.cnblogs.com/dangnianxiaoqingxin/p/13180853.html