C#XML循环生成完整范例
时间: 2024-10-07 11:04:57 浏览: 20
C#经典范例50讲
在C#中,如果你想通过循环生成XML文件,可以使用XmlDocument和XmlWriter对象。下面是一个基本的范例,它将创建一个简单的XML文档,包含一些动态添加的学生信息:
```csharp
using System;
using System.Xml;
class Program
{
static void Main()
{
// 创建一个新的XML文档
XmlDocument xmlDoc = new XmlDocument();
// 创建根节点
XmlElement root = xmlDoc.CreateElement("Students");
xmlDoc.AppendChild(root);
// 定义学生列表
List<Student> students = new List<Student>
{
new Student { Name = "张三", Age = 18 },
new Student { Name = "李四", Age = 19 },
new Student { Name = "王五", Age = 20 }
};
// 遍历学生列表并添加到XML中
foreach (Student student in students)
{
XmlElement studentNode = xmlDoc.CreateElement("Student");
xmlDoc.DocumentElement.AppendChild(studentNode);
// 添加子节点(属性)
XmlAttribute nameAttr = xmlDoc.CreateAttribute("Name");
nameAttr.Value = student.Name;
studentNode.Attributes.Append(nameAttr);
XmlAttribute ageAttr = xmlDoc.CreateAttribute("Age");
ageAttr.Value = student.Age.ToString();
studentNode.Attributes.Append(ageAttr);
}
// 将XML转换为字符串
string xmlString = xmlDoc.OuterXml;
// 打印或保存XML字符串
Console.WriteLine(xmlString);
// 或者将XML写入文件
using (XmlTextWriter writer = new XmlTextWriter("students.xml", null))
{
writer.WriteRaw(xmlString);
}
}
}
// 定义学生类
public class Student
{
public string Name { get; set; }
public int Age { get; set; }
}
```
在这个例子中,我们首先创建了一个XML文档,并为其添加了根节点。然后,我们创建了一个学生类实例,并在循环中为每个学生创建一个XML节点,并添加姓名和年龄属性。
阅读全文