【发布时间】:2015-05-21 00:50:36
【问题描述】:
我有以下代码将一个对象序列化到一个文件中:
TemplateClass item = new TemplateClass();
// Fill in item
XmlSerializer writer = new XmlSerializer(typeof(TemplateClass));
using (StreamWriter file = new StreamWriter(filePath))
{
writer.Serialize(file, item);
}
其中TemplateClass定义如下:
public class TemplateClass
{
public List<SubTemplate> Accounts;
}
[XmlRoot(ElementName = "Account")]
public class SubTemplate
{
public string Name;
public string Region;
}
我期待 XmlRoot 属性在文件中写入 Account 代替 SubTemplate。但是文件输出目前看起来是这样的:
<TemplateClass>
<Accounts>
<SubTemplate>
<Name>SampleName</Name>
<Region>SampleRegion</Region>
</SubTemplate>
</Accounts>
</TemplateClass>
如何更改我的代码以使输出如下所示:
<TemplateClass>
<Accounts>
<Account>
<Name>SampleName</Name>
<Region>SampleRegion</Region>
</Account>
</Accounts>
</TemplateClass>
我不想将 SubTemplate 类的名称更改为 Account。
【问题讨论】:
标签: c# xml-parsing xml-serialization xmlroot