c#xml序列化额外的根节点

Pat*_*ick 4 c# xml serialization

我有一个集合,我想序列化为xml文档.这堂课是:

public class Contacts{
  public List<PendingContactDTO> contacts { get; set; } 
}
Run Code Online (Sandbox Code Playgroud)

我的主要问题是现在我的xml看起来

<Contacts>
   <contacts>
       <..... all contacts>
   </contacts>
</Contacts>
Run Code Online (Sandbox Code Playgroud)

问题是,我想看起来像这样:

   <contacts>
       <..... all contacts>
   </contacts>
Run Code Online (Sandbox Code Playgroud)

有办法吗?

Mar*_*ell 6

[XmlRoot("contacts")]
public class Contacts{
    [XmlElement("contact")]
    public List<PendingContactDTO> contacts { get; set; } 
}
Run Code Online (Sandbox Code Playgroud)

应该给你:

<contacts>
     <contact...>...</contact>
     ...
     <contact...>...</contact>
</contacts>
Run Code Online (Sandbox Code Playgroud)

(XmlRootAttribute重命名为Contactsto contacts; XmlElementAttribute告诉它删除集合节点的额外层​​,命名每个contact)