c语言指定xml根元素名称,如何使用XML序列化更改XML根名称?

这篇博客讨论了在C#中使用XML序列化时如何改变XML根元素的名称。作者遇到一个问题,即XML根元素总是采用类名,而非期望的`WildAnimal`。解决方案是通过创建一个包装类来实现。博客还提到了如何处理嵌套元素的情况,并提供了代码示例。
摘要由CSDN通过智能技术生成

我想在使用C#进行XML序列化时更改根名称。如何使用XML序列化更改XML根名称?

它总是需要类名,而不是我试图设置的名称。

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Xml.Serialization;

using System.IO;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

MyTest test = new MyTest();

test.Test = "gog";

List testList = new List()

{

test

};

SerializeToXML(testList);

}

static public void SerializeToXML(List list)

{

XmlSerializer serializer = new XmlSerializer(typeof(List));

TextWriter textWriter = new StreamWriter(@"C:\New folder\test.xml");

serializer.Serialize(textWriter, list);

textWriter.Close();

}

}

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Xml.Serialization;

namespace ConsoleApplication1

{

[XmlRootAttribute(ElementName = "WildAnimal", IsNullable = false)]

public class MyTest

{

[XmlElement("Test")]

public string Test { get; set; }

}

}

结果

gog

它不会将其更改为WildAnimal。我不知道为什么。我从教程中获得了这个。

编辑 @马克

感谢。我现在看到你的行为看起来很奇怪,你必须围绕它做一个包装。我还有一个问题会发生什么,如果我想使这种格式

所以像一个嵌套的元素。我是否必须为第二部分创建一个新课堂并将其固定在包装类中?

2010-01-23

chobo2

+0

重新编辑;它取决于你是否为每个产品''另一个元素',或者单个'另一个元素'丢失了'product'元素。对于后者:'[XmlArray]'''[XmlArrayItem]' - 否则是:第二种类型。 –

2010-01-24 07:58:18

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值