• C#中XML文件读写


      1 using System;
      2 using System.Collections.Generic;
      3 using System.ComponentModel;
      4 using System.Data;
      5 using System.Drawing;
      6 using System.Linq;
      7 using System.Text;
      8 using System.Windows.Forms;
      9 using System.Xml;
     10 
     11 
     12 namespace XMLDocumentTest
     13 {
     14     public partial class Form1 : Form
     15     {
     16         public Form1()
     17         {
     18         InitializeComponent();
     19         }
     20 
     21         private void DelElementTest()
     22         {
     23             XmlDocument doc = new XmlDocument();
     24             XmlReaderSettings settings = new XmlReaderSettings();
     25             settings.IgnoreComments = true;
     26             XmlReader xmlreader = XmlReader.Create("Book.xml", settings);
     27             doc.Load(xmlreader);
     28             xmlreader.Close();
     29 
     30             if (dataGridView1.SelectedRows.Count <= 0)
     31                 return;
     32             string ISBN = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
     33             string path = string.Format("/bookstore/book[@ISBN="{0}"]", ISBN);
     34             XmlElement element = (XmlElement)doc.SelectSingleNode(path);
     35             if (element != null)
     36             {
     37                 element.ParentNode.RemoveChild(element);
     38             }
     39         }
     40 
     41             XmlDocument doc = new XmlDocument();
     42             private new void Load(object sender, EventArgs e)
     43             {
     44                   List<BookModel> bookmodelList = new List<BookModel>(); ;
     45                   XmlReaderSettings settings = new XmlReaderSettings();
     46                   settings.IgnoreComments = true;
     47                   XmlReader xmlreader = XmlReader.Create("Book.xml", settings);
     48                   doc.Load(xmlreader);
     49                   xmlreader.Close();
     50                   XmlNode root = doc.SelectSingleNode("bookstore");
     51                   XmlNodeList nodelist = root.ChildNodes;
     52                   foreach (XmlNode node in nodelist)
     53                   {
     54                         BookModel bookmodel = new BookModel();
     55                         XmlElement element = (XmlElement)node;
     56                         bookmodel.BookType = element.GetAttribute("Type");
     57                         bookmodel.BookISBN = element.GetAttribute("ISBN");
     58                         XmlNodeList children = element.ChildNodes;
     59                         bookmodel.BookName = children[0].InnerText;
     60                         bookmodel.BookAuthor = children[1].InnerText;
     61                         bookmodel.BookPrice = Convert.ToDouble(children[2].InnerText);
     62 
     63                         bookmodelList.Add(bookmodel);
     64 
     65                   }
     66                   dataGridView1.DataSource = bookmodelList;
     67             }
     68 
     69             private void AddBook(object sender, EventArgs e)
     70             {
     71                   XmlReaderSettings settings = new XmlReaderSettings();
     72                   settings.IgnoreComments = true;
     73                   XmlReader xmlreader = XmlReader.Create("Book.xml", settings);
     74                  doc.Load(xmlreader);
     75                   xmlreader.Close();
     76                   XmlNode root = doc.SelectSingleNode("bookstore");
     77 
     78                   XmlElement element = doc.CreateElement("book");
     79                   XmlAttribute attribute = doc.CreateAttribute("Type");
     80                   attribute.InnerText = "必修课";
     81                   element.SetAttributeNode(attribute);
     82                   attribute = doc.CreateAttribute("ISBN");
     83                   attribute.InnerText = "7-111-19149-4";
     84                   element.SetAttributeNode(attribute);
     85 
     86                   XmlElement childElement = doc.CreateElement("Title");
     87                   childElement.InnerText = "分布式框架";
     88                   element.AppendChild(childElement);
     89                   childElement = doc.CreateElement("Author");
     90                   childElement.InnerText = "brian";
     91                   element.AppendChild(childElement);
     92                   childElement = doc.CreateElement("Price");
     93                   childElement.InnerText = "250";
     94                   element.AppendChild(childElement);
     95 
     96                   root.AppendChild(element);
     97                   doc.Save("Book.xml");
     98                   Load(null, null);
     99                   dataGridView1.ClearSelection();
    100             }
    101 
    102             private void Del(object sender, EventArgs e)
    103             {
    104                   XmlReaderSettings settings = new XmlReaderSettings();
    105                   settings.IgnoreComments = true;
    106                   XmlReader xmlreader = XmlReader.Create("Book.xml", settings);
    107                   doc.Load(xmlreader);
    108                   xmlreader.Close();
    109 
    110 
    111                   if (dataGridView1.SelectedCells.Count <= 0)
    112                       return;
    113                   int selectedRowIndex = dataGridView1.SelectedCells[0].RowIndex;
    114                   string ISBN = dataGridView1.Rows[selectedRowIndex].Cells[1].Value.ToString();
    115                   string path = string.Format("/bookstore/book[@ISBN="{0}"]",ISBN);
    116                   XmlElement element = (XmlElement)doc.SelectSingleNode(path);
    117                   if (element != null)
    118                   {
    119                        element.ParentNode.RemoveChild(element);
    120                   }
    121                   doc.Save("Book.xml");
    122                   Load(null, null);
    123                   dataGridView1.ClearSelection();
    124                   }
    125 
    126             private void button4_Click(object sender, EventArgs e)
    127             {
    128                   this.dataGridView1.DataSource = null;
    129             }
    130        }
    131 }        
  • 相关阅读:
    Newegg集团招聘软件技术专家[上海]
    Roblox Studio 游戏开发引擎或者叫做平台开发工具
    无线网络:卫星网络
    CMS 文件管理系统:SQL 注入漏洞
    无线网络:无线个域网、无线体域网和无线家居网
    CMS 文件管理系统:XSS 漏洞获取密码和 cookie
    无线网络:无线传感器网络
    无线网络:无线自组织网络
    打卡
    打卡
  • 原文地址:https://www.cnblogs.com/xinxinBlog/p/5713463.html
Copyright © 2020-2023  润新知