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;
namespace XML增删改查
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
DisPlayData();
}
/// <summary>
/// xml显示到ListView
/// </summary>
private void DisPlayData()
{
listView1.Items.Clear();
try
{
XmlDocument doc = new XmlDocument();
doc.Load("1.xml");
XmlNodeList nodeList = doc.SelectNodes("/person/list");//xPath相关手册,找节点person的list
foreach (XmlNode node in nodeList)
{
ListViewItem viewItem = new ListViewItem(node.Attributes["id"].Value);
viewItem.SubItems.Add(node.SelectSingleNode("loginID").InnerText);
viewItem.SubItems.Add(node.SelectSingleNode("pwd").InnerText);
listView1.Items.Add(viewItem);
}
}
catch (Exception ex)
{
}
}
/// <summary>
/// 添加XML元素
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnADD_Click(object sender, EventArgs e)
{
string id = txtID.Text;
string loginID = txtLoginID.Text;
string pwd = txtpwd.Text;
XmlDocument doc = new XmlDocument();
doc.Load("1.xml");
if (doc.SelectNodes("/person/list[@id='" + id + "']").Count > 0)
{
MessageBox.Show("ID重复");
return;
}
else
{
XmlElement root = doc.DocumentElement;
XmlElement newElement = doc.CreateElement("list");
newElement.SetAttribute("id", id);//添加属性
root.AppendChild(newElement);
XmlElement xmlLogin = doc.CreateElement("loginID");
xmlLogin.InnerText = loginID;
newElement.AppendChild(xmlLogin);
XmlElement xmlpwd = doc.CreateElement("pwd");
xmlpwd.InnerText = pwd;
newElement.AppendChild(xmlpwd);
root.AppendChild(newElement);
doc.Save("1.xml");
DisPlayData();
}
}
//选中获得listView的值
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count <= 0) { return; }
ListViewItem item = listView1.SelectedItems[0];
txtEditID.Text = item.SubItems[0].Text;
txtEditLoginID.Text = item.SubItems[1].Text;
txtEditpwd.Text = item.SubItems[2].Text;
}
//编辑XML
private void btnEdit_Click(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load("1.xml");
XmlNodeList xmlNodeList = doc.SelectNodes("/person/list[@id='" + txtEditID.Text + "']");
xmlNodeList[0].ChildNodes[0].InnerText = txtEditLoginID.Text;
xmlNodeList[0].ChildNodes[1].InnerText= txtEditpwd.Text;
doc.Save("1.xml");
DisPlayData();
}
//删除XML选中的节点
private void btnDelete_Click(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load("1.xml");
XmlElement root = doc.DocumentElement;
XmlNodeList xmlNodeList = doc.SelectNodes("/person/list[@id='" + txtEditID.Text + "']");
foreach (XmlNode xmlNode in xmlNodeList)
{
xmlNode.ParentNode.RemoveChild(xmlNode);
}
doc.Save("1.xml");
DisPlayData();
}
}
}
以下是 1.XML文件内容 注意一定要把1.XML文件放到Debug根目录下,不然找不到文件会出异常
<?xml version="1.0" encoding="utf-8"?>
<person>
<list id="1">
<loginID>罗</loginID>
<pwd>分明</pwd>
</list>
<list id="2">
<loginID>luofenming</loginID>
<pwd>luofenming</pwd>
</list>
<list id="3">
<loginID>测试</loginID>
<pwd>密码</pwd>
</list>
</person>