接下来我将为你提供一份ASP.NET(C#)XML操作的完整攻略,包括XML的增删改查。在本攻略中,我们将使用C#的常见类库和语法来实现XML数据的操作。
准备工作
在开始编写程序之前,我们需要确保已经安装好.NET开发环境。同时,需要在Visual Studio中新建一个ASP.NET项目,名为“XmlExercise”,并在项目中添加一个XML文件,文件名为“data.xml”。
数据准备
data.xml中包含了以下数据:
<?xml version="1.0" encoding="UTF-8"?>
<students>
<student>
<name>张三</name>
<age>20</age>
</student>
<student>
<name>李四</name>
<age>21</age>
</student>
<student>
<name>王五</name>
<age>22</age>
</student>
</students>
读取XML数据
我们可以使用XmlDocument类来读取XML数据。以读取学生列表为例,代码如下:
using System.Xml;
public class Student
{
public string Name { get; set; }
public int Age { get; set; }
}
public List<Student> GetStudents()
{
List<Student> students = new List<Student>();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("/data.xml"));
XmlNodeList nodeList = xmlDoc.SelectNodes("//students/student");
foreach (XmlNode node in nodeList)
{
Student student = new Student();
student.Name = node["name"].InnerText;
student.Age = Convert.ToInt32(node["age"].InnerText);
students.Add(student);
}
return students;
}
以上代码中,使用XmlDocument类加载data.xml文件,并使用SelectNodes方法选取student节点,然后循环遍历每个student节点,读取姓名和年龄信息,并将结果添加到List
添加XML数据
我们可以使用XmlDocument类来添加XML数据。以添加一名学生为例,代码如下:
public void AddStudent(Student student)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("/data.xml"));
XmlNode studentsNode = xmlDoc.SelectSingleNode("//students");
XmlElement studentElement = xmlDoc.CreateElement("student");
XmlElement nameElement = xmlDoc.CreateElement("name");
XmlElement ageElement = xmlDoc.CreateElement("age");
nameElement.InnerText = student.Name;
ageElement.InnerText = student.Age.ToString();
studentElement.AppendChild(nameElement);
studentElement.AppendChild(ageElement);
studentsNode.AppendChild(studentElement);
xmlDoc.Save(Server.MapPath("/data.xml"));
}
以上代码中,使用XmlDocument类加载data.xml文件,然后选取students节点,并创建一个新的student节点,设置其name和age元素的值,最后将student节点添加到students节点中,并保存更改后的XML文件。
修改XML数据
我们可以使用XmlDocument类来修改XML数据。以修改一名学生为例,代码如下:
public void UpdateStudent(Student student)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("/data.xml"));
XmlNodeList nodeList = xmlDoc.SelectNodes("//students/student");
foreach (XmlNode node in nodeList)
{
if (node["name"].InnerText == student.Name)
{
node["name"].InnerText = student.Name;
node["age"].InnerText = student.Age.ToString();
break;
}
}
xmlDoc.Save(Server.MapPath("/data.xml"));
}
以上代码中,使用XmlDocument类加载data.xml文件,然后选取所有的student节点,遍历每个节点,找到名字与目标学生相同的节点,修改该节点的name和age元素的值,并保存更改后的XML文件。
删除XML数据
我们可以使用XmlDocument类来删除XML数据。以删除一名学生为例,代码如下:
public void DeleteStudent(string name)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("/data.xml"));
XmlNodeList nodeList = xmlDoc.SelectNodes("//students/student");
foreach (XmlNode node in nodeList)
{
if (node["name"].InnerText == name)
{
XmlNode parentNode = node.ParentNode;
parentNode.RemoveChild(node);
break;
}
}
xmlDoc.Save(Server.MapPath("/data.xml"));
}
以上代码中,使用XmlDocument类加载data.xml文件,然后选取所有的student节点,遍历每个节点,找到名字与目标学生相同的节点,删除该节点,并保存更改后的XML文件。
总结
以上是ASP.NET(C#)操作XML数据的简单示例。通过使用XmlDocument类,我们可以完成读取、添加、修改和删除XML数据的操作。XML数据在数据交换和传输中非常有用,并且由于它是结构化的数据格式,使用XML进行数据存储和操作比较方便。如果您还没有使用过XML数据,建议尝试使用,并结合本攻略进行操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:asp.net(C#) Xml操作(增删改查)练习 - Python技术站