C#读取XML文件,以及对XML文件的增删改查
来源:互联网 发布:手机游戏服务端源码 编辑:程序博客网 时间:2024/05/18 02:29
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Xml;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml.Linq;
namespace RdXML
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string sNode2Value = "";
private void Form1_Load(object sender, EventArgs e)
{
string sFile = @"C:\csv\Base.xml";//文档路径
string sNode1 = "SESION"; //第一节点
string sNode2 = "S1"; //要查找/改变的节点
string sRootName = "CONFIG"; //根节点
string change = "MYXML"; //需要改变的节点的值
string addName = "XML";
string addValue = "123";
getNode2(sFile, sRootName, sNode1, sNode2);
changeNode2(sFile, sRootName, sNode1, sNode2, change);
delNode2(sFile, sRootName, sNode1, sNode2);
addNode2(sFile, sRootName, sNode1, addName, addValue);
}
#region 读取Node2的值
public void getNode2(string FullFile, string sRootName, string sNodel, string sNode2)
{
sNode2 = sNode2.ToUpper();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(FullFile);//加载文件
XmlNode xn = xmlDoc.SelectSingleNode(sRootName);
XmlNodeList xnl = xn.ChildNodes;
//XmlNodeList nodeList = xmlDoc.SelectSingleNode("CONFIG").ChildNodes;//获取根节点的所有子节点
foreach (XmlNode xnf in xnl)
{
XmlElement xmlDoc2 = (XmlElement)xnf;
XmlNodeList nodelist2 = xmlDoc2.ChildNodes;
foreach (XmlNode xn2 in nodelist2)
{
string xn2Name = xn2.Name;
if (xn2Name.Equals(sNode2))
{
sNode2Value = xn2.InnerText;
break;
}
}
}
MessageBox.Show(sNode2Value);
//return sNode2Value;
}
#endregion
#region 删除一个节点
public void delNode2(string FullFile, string sRootName, string sNodel, string sNode2)
{
sNode2 = sNode2.ToUpper();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(FullFile);//加载文件
XmlNode xn = xmlDoc.SelectSingleNode(sRootName);
XmlNodeList xnl = xn.ChildNodes;
XmlNodeList nodeList = xmlDoc.SelectSingleNode("CONFIG").ChildNodes;//获取根节点的所有子节点
foreach (XmlNode xnf in xnl)
{
XmlElement xmlDoc2 = (XmlElement)xnf;
XmlNodeList nodelist2 = xmlDoc2.ChildNodes;
foreach (XmlNode xn2 in nodelist2)
{
string xn2Name = xn2.Name;
if (xn2Name.Equals(sNode2))
{
xmlDoc2.RemoveChild(xn2);
xn2.RemoveAll();
break;
}
}
}
xmlDoc.Save(FullFile); //保存
}
#endregion
#region 添加一个节点
public void addNode2(string FullFile, string sRootName, string sNodel, string addName, string addValue)
{
string xn2Name = "";
int num = 0;
addName = addName.ToUpper();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(FullFile);//加载文件
XmlNode xn = xmlDoc.SelectSingleNode(sRootName);
XmlNodeList xnl = xn.ChildNodes;
//XmlNodeList nodeList = xmlDoc.SelectSingleNode("CONFIG").ChildNodes;//获取根节点的所有子节点
foreach (XmlNode xnf in xnl)
{
XmlElement xmlDoc2 = (XmlElement)xnf;
XmlNodeList nodelist2 = xmlDoc2.ChildNodes;
foreach (XmlNode xn2 in nodelist2)
{
xn2Name = xn2.Name;
if (xn2Name.Equals(addName))
{
num++;
}
}
if (num == 0)
{
foreach (XmlNode xn2 in nodelist2)
{
xn2Name = xn2.Name;
XmlElement sNode2 = xmlDoc.CreateElement(addName);
sNode2.InnerText = addValue;
xnf.AppendChild(sNode2);
xmlDoc.Save(FullFile); //保存
break;
}
}
}
}
#endregion
#region 改变节点的值
public void changeNode2(string FullFile, string sRootName, string sNodel, string sNode2, string change)
{
sNode2 = sNode2.ToUpper();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(FullFile);//加载文件
XmlNode xn = xmlDoc.SelectSingleNode(sRootName);
XmlNodeList xnl = xn.ChildNodes;
//XmlNodeList nodeList = xmlDoc.SelectSingleNode("CONFIG").ChildNodes;//获取根节点的所有子节点
foreach (XmlNode xnf in xnl)
{
XmlElement xmlDoc2 = (XmlElement)xnf;
XmlNodeList nodelist2 = xmlDoc2.ChildNodes;
foreach (XmlNode xn2 in nodelist2)
{
string xn2Name = xn2.Name;
if (xn2Name.Equals(sNode2))
{
xn2.InnerText = change;
break;
}
}
}
xmlDoc.Save(FullFile); //保存
}
#endregion
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Xml;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml.Linq;
namespace RdXML
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string sNode2Value = "";
private void Form1_Load(object sender, EventArgs e)
{
string sFile = @"C:\csv\Base.xml";//文档路径
string sNode1 = "SESION"; //第一节点
string sNode2 = "S1"; //要查找/改变的节点
string sRootName = "CONFIG"; //根节点
string change = "MYXML"; //需要改变的节点的值
string addName = "XML";
string addValue = "123";
getNode2(sFile, sRootName, sNode1, sNode2);
changeNode2(sFile, sRootName, sNode1, sNode2, change);
delNode2(sFile, sRootName, sNode1, sNode2);
addNode2(sFile, sRootName, sNode1, addName, addValue);
}
#region 读取Node2的值
public void getNode2(string FullFile, string sRootName, string sNodel, string sNode2)
{
sNode2 = sNode2.ToUpper();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(FullFile);//加载文件
XmlNode xn = xmlDoc.SelectSingleNode(sRootName);
XmlNodeList xnl = xn.ChildNodes;
//XmlNodeList nodeList = xmlDoc.SelectSingleNode("CONFIG").ChildNodes;//获取根节点的所有子节点
foreach (XmlNode xnf in xnl)
{
XmlElement xmlDoc2 = (XmlElement)xnf;
XmlNodeList nodelist2 = xmlDoc2.ChildNodes;
foreach (XmlNode xn2 in nodelist2)
{
string xn2Name = xn2.Name;
if (xn2Name.Equals(sNode2))
{
sNode2Value = xn2.InnerText;
break;
}
}
}
MessageBox.Show(sNode2Value);
//return sNode2Value;
}
#endregion
#region 删除一个节点
public void delNode2(string FullFile, string sRootName, string sNodel, string sNode2)
{
sNode2 = sNode2.ToUpper();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(FullFile);//加载文件
XmlNode xn = xmlDoc.SelectSingleNode(sRootName);
XmlNodeList xnl = xn.ChildNodes;
XmlNodeList nodeList = xmlDoc.SelectSingleNode("CONFIG").ChildNodes;//获取根节点的所有子节点
foreach (XmlNode xnf in xnl)
{
XmlElement xmlDoc2 = (XmlElement)xnf;
XmlNodeList nodelist2 = xmlDoc2.ChildNodes;
foreach (XmlNode xn2 in nodelist2)
{
string xn2Name = xn2.Name;
if (xn2Name.Equals(sNode2))
{
xmlDoc2.RemoveChild(xn2);
xn2.RemoveAll();
break;
}
}
}
xmlDoc.Save(FullFile); //保存
}
#endregion
#region 添加一个节点
public void addNode2(string FullFile, string sRootName, string sNodel, string addName, string addValue)
{
string xn2Name = "";
int num = 0;
addName = addName.ToUpper();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(FullFile);//加载文件
XmlNode xn = xmlDoc.SelectSingleNode(sRootName);
XmlNodeList xnl = xn.ChildNodes;
//XmlNodeList nodeList = xmlDoc.SelectSingleNode("CONFIG").ChildNodes;//获取根节点的所有子节点
foreach (XmlNode xnf in xnl)
{
XmlElement xmlDoc2 = (XmlElement)xnf;
XmlNodeList nodelist2 = xmlDoc2.ChildNodes;
foreach (XmlNode xn2 in nodelist2)
{
xn2Name = xn2.Name;
if (xn2Name.Equals(addName))
{
num++;
}
}
if (num == 0)
{
foreach (XmlNode xn2 in nodelist2)
{
xn2Name = xn2.Name;
XmlElement sNode2 = xmlDoc.CreateElement(addName);
sNode2.InnerText = addValue;
xnf.AppendChild(sNode2);
xmlDoc.Save(FullFile); //保存
break;
}
}
}
}
#endregion
#region 改变节点的值
public void changeNode2(string FullFile, string sRootName, string sNodel, string sNode2, string change)
{
sNode2 = sNode2.ToUpper();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(FullFile);//加载文件
XmlNode xn = xmlDoc.SelectSingleNode(sRootName);
XmlNodeList xnl = xn.ChildNodes;
//XmlNodeList nodeList = xmlDoc.SelectSingleNode("CONFIG").ChildNodes;//获取根节点的所有子节点
foreach (XmlNode xnf in xnl)
{
XmlElement xmlDoc2 = (XmlElement)xnf;
XmlNodeList nodelist2 = xmlDoc2.ChildNodes;
foreach (XmlNode xn2 in nodelist2)
{
string xn2Name = xn2.Name;
if (xn2Name.Equals(sNode2))
{
xn2.InnerText = change;
break;
}
}
}
xmlDoc.Save(FullFile); //保存
}
#endregion
}
}
0 0
- C#读取XML文件,以及对XML文件的增删改查
- c# 对Xml的增删改查
- c# 对Xml的增删改查
- c# 对Xml的增删改查
- Linq对XML文件的增删改查
- Java对XML文件的增删改查
- C# XML文件的一些操作,增删改查
- XML文件的增删改查12.1
- jaxp解析xml 对xml文件进行增删改查
- 【XML】C#中XML文件增删改查简单应用
- C# 用Linq的方式实现对Xml文件的基本操作(创建xml文件、增删改查xml文件节点信息)
- C# 用Linq的方式实现对Xml文件的基本操作(创建xml文件、增删改查xml文件节点信息)
- C# 用Linq的方式实现对Xml文件的基本操作(创建xml文件、增删改查xml文件节点信息)
- C# 用Linq的方式实现对Xml文件的基本操作(创建xml文件、增删改查xml文件节点信息)
- C# 用Linq的方式实现对Xml文件的基本操作(创建xml文件、增删改查xml文件节点信息)
- C# 用Linq的方式实现对Xml文件的基本操作(创建xml文件、增删改查xml文件节点信息)
- C# 用Linq的方式实现对Xml文件的基本操作(创建xml文件、增删改查xml文件节点信息)
- dom对xml文件增删查改操作
- 北京大学ACM/ICPC竞赛训练暑期课练习之怪盗基德的滑翔翼
- python使用mysql数据库
- swift url scheme(应用之间的调用)
- PAT (Advenced Level) 1026. Table Tennis (30) 模拟排队,有vip
- Codeforces Round #313 (Div. 2)
- C#读取XML文件,以及对XML文件的增删改查
- python 机器学习库:Numpy
- Android Hook Java
- 《JAVA与模式》之抽象工厂模式
- DirectX11 绘制字体
- RMI原理揭秘之远程对象
- 我活着
- java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils
- UIScrollView极限优化:两个UIImageView循环利用