c# xml的增删改查

1.xml的用途很广,也很重要。

2.源代码直接分享

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;
using System.Collections;
namespace listbox
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

public void CreateXmlFile(String FileName,String FistNode)
{
XmlDocument xmlDoc = new XmlDocument();
//创建类型声明节点
XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "");
xmlDoc.AppendChild(node);
//创建根节点
XmlNode root = xmlDoc.CreateElement(FistNode);
xmlDoc.AppendChild(root);
try
{
xmlDoc.Save(FileName);
}
catch (Exception e)
{
//显示错误信息
Console.WriteLine(e.Message);
}
}

///<summary>
/// 插入节点
///</summary>
public void InsertNode(String nodename, String PrintPath, String Burnpath)
{
XmlDocument xmlDoc = new XmlDocument();

xmlDoc.Load("TaskList.xml"); //加载xml文件

XmlNode root = xmlDoc.SelectSingleNode("TaskList");//查找﹤bookstore﹥

XmlElement xe1 = xmlDoc.CreateElement(nodename);//创建一个﹤book﹥节点
xe1.SetAttribute("PrintPath", PrintPath);//设置该节点genre属性
xe1.SetAttribute("BurnPath", Burnpath);//设置该节点ISBN属性
root.AppendChild(xe1);//添加到﹤bookshop﹥节点中
xmlDoc.Save("TaskList.xml"); //保存其更改
}
///<summary>
/// 修改节点的内容
///</summary>
public void UpdateNode(String nodename, String AttrName, String AttrVal)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("TaskList.xml"); //加载xml文件
XmlNodeList nodeList = xmlDoc.SelectSingleNode("TaskList").ChildNodes;

//遍历所有子节点
foreach (XmlNode xn in nodeList)
{
if (xn.Name == nodename)
{
XmlElement xe = (XmlElement)xn;
String val=xe.InnerText;
// xe.InnerText = "";
xe.SetAttribute(AttrName, AttrVal); //则修改该属性为“update Sky_Kwolf”
xmlDoc.Save("TaskList.xml");//保存。
break;
}
}
}
///<summary>
/// 读取节点的内容
///</summary>
private String ReadNodeAttr(String Nodename, String AttrName)
{
String result ="";
try
{
var doc = new XmlDocument();
doc.Load("TaskList.xml");
XmlNode root = doc.DocumentElement;
if (root != null)
{
XmlNodeList nodelist = root.SelectNodes(Nodename);
foreach (XmlNode node in nodelist)
{
try
{

if (AttrName == "PrintPath")
{
result = node.Attributes.Item(0).Value.ToString();
}
else
{
result = node.Attributes.Item(1).Value.ToString();
}

break;

}
catch (Exception fe)
{
}
}
}
}
catch (Exception ex)
{
}
return result;
}
///<summary>
/// 读取xml所有节点的内容
///</summary>
private String ReadAllNode()
{
String result = "";
try
{
var doc = new XmlDocument();
doc.Load("TaskList.xml");
XmlNode root = doc.DocumentElement;
if (root != null)
{
XmlNodeList nodelist = root.ChildNodes;

foreach (XmlNode node in nodelist)
{
result += node.Name + ‘,‘;

}
}
}
catch (Exception ex)
{
}
return result;
}
///<summary>
/// 删除节点的所有内容
///</summary>
public void DeleteNode(String nodename)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("TaskList.xml"); //加载xml文件
XmlNodeList nodeList = xmlDoc.SelectSingleNode("TaskList").ChildNodes;
//遍历所有子节点
foreach (XmlNode xn in nodeList)
{
if (xn.Name == nodename)
{
XmlElement xe = (XmlElement)xn;
xe.RemoveAll();//删除该节点的全部内容
xmlDoc.SelectSingleNode("TaskList").RemoveChild(xn);
xmlDoc.Save("TaskList.xml");//保存。
break;
}
}
}

private void button1_Click(object sender, EventArgs e)
{
string peopleText = textBox1.Text.Trim().ToString();
//获取listbox1的对象
ListBox list1 = this.listBox1;
//判断人员是否已经添加过
if (!list1.Items.Contains(peopleText))
{
//list1.Items.Add(peopleText);
list1.Items.Insert(0, peopleText);
InsertNode(textBox1.Text, textBox2.Text, textBox3.Text);

}
else
{
MessageBox.Show("该人员已经添加过,无法重复添加!");
}
}

private void button2_Click(object sender, EventArgs e)
{
//获取listbox1的所有选中的项
if (this.listBox1.SelectedItems.Count > 0)
{
string checkPeople = this.listBox1.SelectedItem.ToString();
//判断是否添加到listbox2
if (!this.listBox2.Items.Contains(checkPeople))
{
//添加人员到listbox2中
this.listBox2.Items.Add(checkPeople);
//移除listbox1中
this.listBox1.Items.Remove(checkPeople);
}
else
{
MessageBox.Show("该人员已经转移过,无法重复转移!");
}

}
else
{
MessageBox.Show("未选中采购人员,无法转移销售部门!");
}
}

private void button3_Click(object sender, EventArgs e)
{
//获取listbox2的所有选中的项
if (this.listBox2.SelectedItems.Count > 0)
{
string checkPeople = this.listBox2.SelectedItem.ToString();
//判断是否添加到listbox1
if (!this.listBox1.Items.Contains(checkPeople))
{
//添加人员到listbox1中
this.listBox1.Items.Add(checkPeople);
//移除listbox1中
this.listBox2.Items.Remove(checkPeople);
}
else
{
MessageBox.Show("该人员已经转移过,无法重复转移!");
}

}
else
{
MessageBox.Show("未选中销售人员,无法转移到采购部门!");
}
}

private void button4_Click(object sender, EventArgs e)
{
CreateXmlFile("TaskList.xml", "TaskList");
InsertNode("f2", "p2", "b3");
//UpdateNode("f1", "PrintPath", "p3");
//UpdateNode("f1", "BurnPath", "b4");

// string p1= ReadNode("f2", "PrintPath");

// string p2 = ReadNode("f2", "BurnPath");

// string p1 = ReadNodeAttr("f1", "BurnPath");
//MessageBox.Show(p1);
//UpdateNode("f2", "PrintPath", "00");
//UpdateNode("f2", "BurnPath", "01");
//DeleteNode("f1");

// ReadAllNode();
}

private void Form1_Load(object sender, EventArgs e)
{
String name= ReadAllNode();
String[] name2 = name.Split(‘,‘);
for (int i = 0; i < name2.Length; i++)
{
listBox1.Items.Add(name2[i]);
}
}
}
}

时间: 2024-08-11 01:34:49

c# xml的增删改查的相关文章

flex 操作xml 实现增删改查 .

一 在介绍Flex中操作XML之前,首先简单介绍下XML中的基本术语. 元素:XML中拥有开始标签和结束标签的这一块称为“元素”    节点:把XML元素与文本结合起来统称为节点    根节点:位于整个XML文当顶端的节点    文本节点:包含文本的节点    属性:元素的组成部分,以键/值形式放在元素标签内 用一个例子来说明 view plaincopy to clipboardprint?<root_node><!--这是一个根节点也是一个元素-->            &l

xml解析——增删改查操作后将其修改结果保存

一.可扩展标记语言xml:Extensible Markup Language    1.XML的作用:1)统一数据传输的格式.2)做小型数据库[文件型数据库].3)做配置文件  .ini   .propertity  .xml  .cfg    2.XML文件的基本格式:      标签:分为双标签和单标签,双标签的开头和结尾标签名必须一致,大小写一样,/ 开头的是结尾标签,单标签必须在 > 前加上 / 来结尾,单标签中不能放文本.      属性:在开始标签中定义一些名值对,值一定是字符串 

java中XML操作:xml与string互转、读取XML文档节点及对XML节点增删改查

一.XML和String互转: 使用dom4j程式变得很简单 //字符串转XML String xmlStr = \"......\"; Document document = DocumentHelper.parseText(xmlStr); // XML转字符串 Document document = ...; String text = document.asXML(); //这里的XML DOCUMENT为org.dom4j.Document 二.读取XML文档节点: pack

Dom4J实现XML文件增删改查

1:XML语法规则(只写重要的几点)   XML标签对大小写敏感   XML文档必须有根元素          XML的属性值要加“”          XML中空格会被保留 2:首先呢使用Dom4J必须先使用jar包<dom4j-2.1.1.jar> 3:包导好之后我们开始步入正题,先去创建一个XML文件(info_xml文件名) 4:开始查询XML文件里的节点 5:添加节点 6:修改节点 7:删除节点 关于Dom4J实现XML增删改查文件就到这里了,这也是我第一次发博客,有什么不足我下次发

mybatis中的xml方式增删改查

实体类 package cn.liwen.entity; public class User { private long id; //主键 private String username;//用户名 private String password;//密码 public long getId() { return id; } public void setId(long id) { this.id = id; } public String getUsername() { return use

XML模块增删改查基本操作

增:新建一个xml文件,把数据写进去 # 怎么生成一个xml文件? # 1,导入模块 import xml.etree.ElementTree as et # 2, 定义节点 root = et.Element('namelist') # 3,定义节点下相应的值和属性 name = et.SubElement(root,'name',attrib={'enroll':'yes'}) # 问题:attrib是什么,设置了有什么用? age = et.SubElement(root,'age',at

asp.net 的xml数据增删改查

A.前台html页面 <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title></title> <link href="handle/admin-style.css" rel="stylesheet" type="text/css&q

LINQ to XML实现对象xml的增删改查

[LINQ to XML]参考资料 1 2 3 4 原文地址:https://www.cnblogs.com/anjun-xy/p/11631756.html

xml的增删改查

xml文件的添加: XmlDocument doc = new XmlDocument(); //首先判断文件是否存在,如果存在则追加否则在创建一个 if (File.Exists("Student.xml")) { //加载 doc.Load("Student.xml"); //获取根节点,给根节点添加子节点 XmlElement person = doc.DocumentElement; XmlElement student = doc.CreateElemen