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

时间:2011-10-04 06:32:15

标签: c# xml serialization

我有一个我想序列化到xml文档的集合。课程是:

public class Contacts{
  public List<PendingContactDTO> contacts { get; set; } 
}

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

<Contacts>
   <contacts>
       <..... all contacts>
   </contacts>
</Contacts>

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

   <contacts>
       <..... all contacts>
   </contacts>

有没有办法解决这个问题?

2 个答案:

答案 0 :(得分:6)

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

应该给你:

<contacts>
     <contact...>...</contact>
     ...
     <contact...>...</contact>
</contacts>

XmlRootAttributeContacts重命名为contacts; XmlElementAttribute告诉它删除集合节点的额外图层,命名每个contact

答案 1 :(得分:0)

将您的xml加载到XmlDocument

xmlDoc.LoadXml(StrXML);
xmlDoc.SelectSingleNode("/Contacts/contacts")

我希望这会对你有所帮助