c#语言 修改xml文件路径,C# winfrom实现读取修改xml

本文示例为大家分享了winfrom实现读取修改xml的具体代码,供大家参考,具体内容如下

在winfrom窗体中放一个文本框,2个按钮,一个panle,如下图

143bf3e1449ba8d1fc2dbe8b2c9ce2a3.png

form.cs文件中的代码:

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 XMLConfiger

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

public string Path;

xmlConfig xmlconfig;

//读取xml内容

private void button1_Click(object sender, EventArgs e)

{

OpenFileDialog fileName = new OpenFileDialog();//定义一个文件打开控件

fileName.InitialDirectory = Application.StartupPath;//设置打开控件后,默认目录为exe运行文件所在文件夹

fileName.Filter = "所有XML文件|*.XML";//设置控件打开的文件类型

fileName.FilterIndex = 2;//设置控件打开文件类型的显示顺序

fileName.RestoreDirectory = true;//设置对话框是否记忆之前打开的目录

if (fileName.ShowDialog() == DialogResult.OK)

{

Path = fileName.FileName.ToString();//获得用户选择的完整路径

Name = Path.Substring(Path.LastIndexOf("\\") + 1);//获取用户选择的不带路径的文件名

xmlconfig = new xmlConfig(Path);

int count = xmlconfig.GetCount();

int ysplit = 30;

int x1 = 3;

for (int i = 0; i < count; i++)

{

Label lb = new Label();

lb.Text = xmlconfig.GetName(i).ToString();

lb.Tag = "";

lb.Size = new System.Drawing.Size(60, 23);

lb.AutoSize = false;

TextBox tb = new TextBox();

tb.Text = xmlconfig.GetXmlNode(i).ToString();

tb.Tag = i;

lb.Location = new Point(x1, i * ysplit);

tb.Location = new Point(x1 + lb.Size.Width + 10, i * ysplit);

panel1.Controls.Add(lb);

panel1.Controls.Add(tb);

}

}

}

//修改xml内容

private void button2_Click(object sender, EventArgs e)

{

for (int i = 0; i < this.panel1.Controls.Count; i++)

{

if (this.panel1.Controls[i].Tag != null && this.panel1.Controls[i].Tag.ToString() != "")

{

TextBox textbox1 = (TextBox)(this.panel1.Controls[i]);

xmlconfig.SavaXMLConfig(Convert.ToInt32(textbox1.Tag), textbox1.Text);

}

}

xmlconfig.SavaConfig();

}

}

}

xmlConfig.cs中的代码:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Xml;

using System.IO;

using System.Data;

using System.Windows.Forms;

namespace XMLConfiger

{

public class xmlConfig

{

public int count = 0;

public string path="";

private List strlist = new List();

private List listName = new List();

//构造函数获得所有信息

public xmlConfig(string Path)

{

XmlDocument xmlDoc = new XmlDocument();

xmlDoc.Load(Path);//读取指定的XML文档

path = Path;

XmlNode roomlist = xmlDoc.SelectSingleNode("rss");

XmlNodeList list = roomlist.ChildNodes;

foreach (XmlNode item in list)

{

listName.Add(item.Attributes["Name"].Value);

strlist.Add(item.InnerText);

count = listName.Count;

}

}

//获取所有节点的个数

public int GetCount()

{

return count;

}

//通过tag值获取当前返回的Name

public string GetName(int tag)

{

return listName[tag];

}

//通过tag值获取当前返回的value

public string GetXmlNode(int tag)

{

return strlist[tag];

}

//修改xml中所有的内容

public void SavaConfig()

{

XmlDocument XMLDoc = new XmlDocument();

XMLDoc.Load(path);

XmlNodeList nodeList=XMLDoc.SelectSingleNode("rss").ChildNodes;//获取节点的所有子节点

for (int i = 0; i < nodeList.Count; i++)//遍历所有子节点

{

XmlElement xe = (XmlElement)nodeList[i];

XmlNode ChildXml = nodeList[i];

for (int j = 0; j < strlist.Count; j++)

{

if (listName[j] == ChildXml.Attributes["Name"].Value)

{

xe.SetAttribute("Name", listName[i]);

xe.InnerText = strlist[i];

break;

}

}

}

XMLDoc.Save(path);//保存。

}

//修改xml中某一个节点

public void SavaXMLConfig(int tag, string Name)

{

strlist[tag] = Name;

}

}

}

xml文件:

宁泽涛

22

游泳

以上就是本文的全部内容,希望对大家的学习有所帮助。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CC是C是一C是一种C是一种编C是一种编程C是一种编程语C是一种编程语言C是一种编程语言,C是一种编程语言,由C是一种编程语言,由DC是一种编程语言,由DennisC是一种编程语言,由Dennis RitchC是一种编程语言,由Dennis RitchieC是一种编程语言,由Dennis Ritchie在C是一种编程语言,由Dennis Ritchie在197C是一种编程语言,由Dennis Ritchie在1972C是一种编程语言,由Dennis Ritchie在1972年C是一种编程语言,由Dennis Ritchie在1972年开C是一种编程语言,由Dennis Ritchie在1972年开发C是一种编程语言,由Dennis Ritchie在1972年开发。C是一种编程语言,由Dennis Ritchie在1972年开发。它C是一种编程语言,由Dennis Ritchie在1972年开发。它是C是一种编程语言,由Dennis Ritchie在1972年开发。它是一C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 CC是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指针C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指针等C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指针等。C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指针等。 CC是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指针等。 C语C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指针等。 C语言C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指针等。 C语言也C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指针等。 C语言也C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指针等。 C语言也为C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指针等。 C语言也为很C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指针等。 C语言也为很多C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指针等。 C语言也为很多其他C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指针等。 C语言也为很多其他高C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指针等。 C语言也为很多其他高级C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指针等。 C语言也为很多其他高级编C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指针等。 C语言也为很多其他高级编程C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指针等。 C语言也为很多其他高级编程语C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指针等。 C语言也为很多其他高级编程语言C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指针等。 C语言也为很多其他高级编程语言的C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指针等。 C语言也为很多其他高级编程语言的基C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指针等。 C语言也为很多其他高级编程语言的基础C是一种编程语言,由Dennis Ritchie在1972年开发。它是一种面向过程的语言,广泛用于系统程序设计、操作系统、编译器、嵌入式系统等领域。 C的特点包括简洁、高效、可移植、易学易用、强大的控制结构和指针等。 C语言也为很多其他高级编程语言的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值