写一个C#类, 用于输出xml格式的数据,有三个固定标签header、body、return, 要求body中可以添加多级子标签
时间: 2024-09-09 08:07:32 浏览: 13
在C#中,你可以创建一个名为XmlOutput的类,它包含一个静态方法`GenerateXml`,该方法接受一些动态参数来构建XML结构。这里是一个简单的示例:
```csharp
using System;
using System.Xml.Linq;
public class XmlOutput
{
public static string GenerateXml(string header, string body, params XElement[] childElements)
{
// 创建XDocument对象
XDocument doc = new XDocument(
// 根元素
new XElement("response",
// header元素
new XElement("header", header),
// body元素,允许嵌套子标签
new XElement("body",
childElements)
)
);
return doc.ToString(SaveOptionsPrettyPrint);
}
}
// 使用示例
string header = "这是头部";
XElement child1 = new XElement("level1", "这是第一级");
XElement child2 = new XElement("level2", new XElement("level2_1", "这是第二级的第一层"));
XElement child3 = new XElement("level2", new XElement("level2_2", "这是第二级的第二层"));
string xmlResult = XmlOutput.GenerateXml(header, child1, child2, child3);
Console.WriteLine(xmlResult);
```
在这个例子中,`childElements`数组用于传递body中的所有子标签。你可以根据需要添加任意层次的子元素。这个生成的XML将会像下面这样:
```xml
<response>
<header>这是头部</header>
<body>
<level1>这是第一级</level1>
<level2>
<level2_1>这是第二级的第一层</level2_1>
<level2_2>这是第二级的第二层</level2_2>
</level2>
</body>
</response>
```