zoukankan      html  css  js  c++  java
  • Ling To Xml 学习之 对xml增、删、改、查

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Xml.Linq;
    using System.Xml;

    namespace lingtoxml
    {
    public partial class Ling_student_xml : Form
    {
    string xmlPath = "StuInfo.xml";
    public Ling_student_xml()
    {
    InitializeComponent();
    }

    private void Ling_student_xml_Load(object sender, EventArgs e)
    {
    datagridBind();
    }
    public void datagridBind()
    {
    DataSet ds
    = new DataSet();
    ds.ReadXml(xmlPath);
    dataGridView1.DataSource
    = ds.Tables[0];
    }
    //添加信息到xml中去
    private void AddEnter_Click(object sender, EventArgs e)
    {
    //1、加载xml

    XElement xelment
    = XElement.Load(xmlPath);
    //2、实例化泛型接口
    IEnumerable<XElement> xelments = from xe in xelment.Elements("stu")
    select xe;

    //生成相应的数据
    string SID = Convert.ToInt32(xelments.Max(xe => xe.Attribute("ID").Value)+1).ToString("0000");
    XElement stu
    = new XElement("stu", new XAttribute("ID", SID),
    new XElement("Name",textBox1.Text),
    new XElement("Sex",textBox2.Text),
    new XElement("Age",textBox3.Text),
    new XElement("Grad",textBox4.Text)

    );
    xelment.Add(stu);
    //添加xml元素
    xelment.Save(xmlPath);//保存xml
    datagridBind();
    }
    // 根据选择的ID获得详细信息
    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
    string keys = dataGridView1.Rows[e.RowIndex].Cells[4].Value.ToString();//获取ID
    XElement xelment=XElement.Load(xmlPath);//加载xml
    //根据编号查找
    IEnumerable<XElement> xelments = from xe in xelment.Elements("stu")
    where xe.Attribute("ID").Value == keys
    select xe;
    foreach (XElement item in xelments)
    {
    textBox5.Text
    = item.Attribute("ID").Value.ToString();
    textBox1.Text
    = item.Element("Name").Value.ToString();
    textBox2.Text
    = item.Element("Sex").Value.ToString();
    textBox3.Text
    = item.Element("Age").Value.ToString();
    textBox4.Text
    = item.Element("Grad").Value.ToString();
    }
    }

    private void button1_Click(object sender, EventArgs e)
    {
    XElement xelment
    = XElement.Load(xmlPath);
    if (textBox5.Text != "")
    {
    IEnumerable
    <XElement> xelments = from xe in xelment.Elements("stu")
    select xe;
    if (xelments.Count() != 0)
    {
    XElement newXE
    = xelments.First();
    newXE.SetAttributeValue(
    "ID", textBox5.Text);
    newXE.ReplaceNodes(
    new XElement("Name",textBox1.Text),
    new XElement("Sex",textBox2.Text),
    new XElement("Age",textBox3.Text),
    new XElement("Grad",textBox4.Text)
    );
    }
    xelment.Save(xmlPath);
    }
    datagridBind();
    }


    }
    }

  • 相关阅读:
    django入门系列 -表单视图
    django学习 -模型层初体验
    python 元组与list的区别
    解决容器内部无法访问宿主机端口的问题
    记一次pyccharm Terminal django 执行 python migrate 无法生成新的数据表的报错过程
    ES学习之ES语法入门
    docker seleniumgrid 问题解决
    selenium的Grid方式遇到 1 requests waiting for a slot to be free. 问题
    js写的ajax
    ajax jQ写的上传进度条
  • 原文地址:https://www.cnblogs.com/Mr0909/p/2116691.html
Copyright © 2011-2022 走看看