XML——XML操作

网友投稿 593 2022-05-30

操作XML文件需要引用命名空间:System.Xml;

向Xml文件中添加信息

添加Student.xml文件,文件信息如下:

张三

19

XML——XML操作

李四

20

had

16

代码:

XmlDocument doc = new XmlDocument();

//修改.exe文件夹下的Student.xml,需要单机程序中的Student.xml文件将其“复制到输出目录”属性,修改为“始终复制”

//string exePath = Application.StartupPath+"\\Student.xml";

//doc.Load(exePath);

//将程序目录下的Student.Xml中添加学生信息。

String exePath = Application.StartupPath;

int idx = exePath.LastIndexOf("bin");

exePath = exePath.Substring(0, idx) + "Student.xml";

doc.Load(exePath);

XmlNode node = doc.CreateNode(XmlNodeType.Element, "Student", "");

XmlAttribute attr = doc.CreateAttribute("class");

attr.Value = "一班";

node.Attributes.Append(attr);

XmlNode name = doc.CreateNode(XmlNodeType.Element, "Name","");

name.InnerText = "had";

XmlNode gender = doc.CreateNode(XmlNodeType.Element, "Gender", "");

gender.InnerText = "女";

XmlNode age = doc.CreateNode(XmlNodeType.Element, "Age", "");

age.InnerText = "16";

node.AppendChild(name);

node.AppendChild(gender);

node.AppendChild(age);

doc["Students"].AppendChild(node);

doc.Save(exePath);

删除Xml文件中的数据

XmlDocument doc = new XmlDocument();

//修改.exe文件夹下的Student.xml,需要单机程序中的Student.xml文件将其“复制到输出目录”属性,修改为“始终复制”

//string exePath = Application.StartupPath+"\\Student.xml";

//doc.Load(exePath);

//将程序目录下的Student.Xml中添加学生信息。

String exePath = Application.StartupPath;

int idx = exePath.LastIndexOf("bin");

exePath = exePath.Substring(0, idx) + "Student.xml";

doc.Load(exePath);

XmlNodeList list = doc["Students"].ChildNodes;

foreach (XmlNode node in list)

{

foreach (XmlNode nd in node.ChildNodes)

{

if (nd.InnerText == "had")

{

nd.ParentNode.ParentNode.RemoveChild(nd.ParentNode);

doc.Save(exePath);

return;

}

}

}

修改xml中的数据:

XmlDocument doc = new XmlDocument();

//修改.exe文件夹下的Student.xml,需要单机程序中的Student.xml文件将其“复制到输出目录”属性,修改为“始终复制”

//string exePath = Application.StartupPath+"\\Student.xml";

//doc.Load(exePath);

//将程序目录下的Student.Xml中添加学生信息。

String exePath = Application.StartupPath;

int idx = exePath.LastIndexOf("bin");

exePath = exePath.Substring(0, idx) + "Student.xml";

doc.Load(exePath);

XmlNodeList list = doc["Students"].ChildNodes;

for (int i = 0; i < list.Count; i++)

{

XmlNode node = list[i];

if (node["Name"].InnerText == "李四")

{

node["Gender"].InnerText = "男";

}

foreach (XmlNode nd in node.ChildNodes)

{

if (nd.InnerText == "张三")

{

nd.ParentNode["Gender"].InnerText = "女";

}

}

}

doc.Save(exePath);

读取xml文件的所有数据

XmlDocument doc = new XmlDocument();

//修改.exe文件夹下的Student.xml,需要单机程序中的Student.xml文件将其“复制到输出目录”属性,修改为“始终复制”

//string exePath = Application.StartupPath+"\\Student.xml";

//doc.Load(exePath);

//将程序目录下的Student.Xml中添加学生信息。

String exePath = Application.StartupPath;

int idx = exePath.LastIndexOf("bin");

exePath = exePath.Substring(0, idx) + "Student.xml";

doc.Load(exePath);

XmlNodeList list = doc["Students"].ChildNodes;

foreach (XmlNode node in list)

{

String name = node["Name"].InnerText;

string gender = node["Gender"].InnerText;

string age = node["Age"].InnerText;

listBox1.Items.Add(name + "," + age + "," + gender);

}

创建Xml文件,并向里面添加数据

private void button1_Click(object sender, EventArgs e)

{

CreateXmlFile();

}

public void CreateXmlFile()

{

String exePath = Application.StartupPath;

int idx = exePath.LastIndexOf("bin");

exePath = exePath.Substring(0, idx) + "aa.xml";

XmlDocument xmlDoc = new XmlDocument();

//创建类型声明节点

XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "");

xmlDoc.AppendChild(node);

//创建根节点

XmlNode root = xmlDoc.CreateElement("User");

xmlDoc.AppendChild(root);

CreateNode(xmlDoc, root, "name", "xuwei");

CreateNode(xmlDoc, root, "sex", "male");

CreateNode(xmlDoc, root, "age", "25");

xmlDoc.Save(exePath);

}

///

/// 创建节点

///

///   xml文档

/// 父节点

///   节点名

///   节点值

///

public void CreateNode(XmlDocument xmlDoc, XmlNode parentNode, string name, string value)

{

XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, name, null);

node.InnerText = value;

parentNode.AppendChild(node);

}

XML

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:关于看板方法,你需要知道的几件事
下一篇:Excel2016表格中如何制作车辆行驶记录表
相关文章