[英]Question about XmlSerializer in .NET
I have the following classes in C# that I want to serialize: 我在C#中有以下要编译的类:
Item
项目
ProjectItem : Item
ProjectItem:项目
Folder : Item
文件夹:项目
Project (Contains a collection of Item, that may be either a ProjectItem or a Folder)
Project(包含Item的集合,可以是ProjectItem或Folder)
When I serialize a "Project", I get the following... 当我序列化“项目”时,我得到以下内容......
<Project>
<Item xsi:type="Folder">
<Name>MyFolder</Name>
</Item>
</Project>
While I'd like something like... 虽然我喜欢......
<Project>
<Folder>
<Name>MyFolder</Name>
</Folder>
</Project>
Do you have any idea about how to do that? 你知道怎么做吗? Thanks in advance.
提前致谢。
I believe you need to add some attributes like this to your Project property: 我相信你需要在Project属性中添加这样的属性:
[XmlArray]
[XmlArrayItem(ElementName="ProjectItem", Type=typeof(ProjectItem))]
[XmlArrayItem(ElementName="Folder", Type=typeof(Folder))]
public List<Item> Project
{
get;
set;
}
You can control naming by attributes: 您可以按属性控制命名:
public class MyEntity{
[XmlElement(ElementName = "Folder")]
public someType ProjectItem{get;set;};
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.