关于.NET中XmlSerializer的问题

时间:2009-10-20 13:55:12

标签: c# .net xml-serialization

我在C#中有以下要序列化的类:

  

项目

     

ProjectItem:Item

     

文件夹:项目

     

项目(包含。的集合   项目,可以是ProjectItem   或文件夹)

当我序列化“项目”时,我得到以下内容......

<Project>
  <Item xsi:type="Folder">
   <Name>MyFolder</Name> 
  </Item>
</Project>

虽然我喜欢...... ...

<Project>
  <Folder>
   <Name>MyFolder</Name> 
  </Folder>
</Project>

你知道怎么做吗? 提前谢谢。

2 个答案:

答案 0 :(得分:2)

我相信你需要在Project属性中添加一些这样的属性:

[XmlArray]
[XmlArrayItem(ElementName="ProjectItem", Type=typeof(ProjectItem))]
[XmlArrayItem(ElementName="Folder", Type=typeof(Folder))]
public List<Item> Project
{
   get;
   set;
}

答案 1 :(得分:2)

您可以按属性控制命名:

public class MyEntity{
    [XmlElement(ElementName = "Folder")]
    public someType ProjectItem{get;set;};
}