2011-10-04 101 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文檔...而不是*解析*一個 –