2011-10-04 56 views
4

我有一个集合,我想序列化到一个XML文档。类是:c#xml序列化额外根节点

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

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

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

的事情是,我想看看它是这样的:

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

是否有办法对此?

+0

它确实模拟了你在Contacts类中的Contacts属性。当班级获得额外的成员时该怎么办? –

+0

@亨克那场景是明确的;简单地说,你可能会得到'' –

回答

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

应该给你:

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

(该XmlRootAttribute重命名Contactscontacts;在XmlElementAttribute告诉它的聚集节点删除多余的一层,命名每个contact

+0

谢谢,这没有把戏。 – Patrick

+0

@PopCatalin当时我不被允许这样做,因为在提出问题之后我不得不再等待一段时间;)如果它列在我的待办事项上。 – Patrick

0

负荷你的xml到XmlDocument

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

我希望这会帮助你

+0

OP正在尝试*创建*给定形状的xml文档...而不是*解析*一个 –