C#XML循环生成范例
时间: 2024-10-07 07:04:13 浏览: 30
在C#中,我们可以使用LINQ to XML来方便地创建、操作和生成XML文档。下面是一个简单的例子,展示如何使用循环生成XML元素,例如遍历一个集合并将其转换为XML格式:
```csharp
using System;
using System.Xml.Linq;
class Program
{
static void Main()
{
// 创建一个数据源,这里是一个字符串数组
string[] items = { "Apple", "Banana", "Cherry" };
// 创建一个XDocument实例用于构建XML
XDocument doc = new XDocument(
new XElement("FruitList",
from item in items
select new XElement("Item",
new XAttribute("Name", item)
)
)
);
// 输出生成的XML
Console.WriteLine(doc.ToString());
相关问题
C#XML循环生成完整范例
在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节点,并添加姓名和年龄属性。
阅读全文