2011-02-25 14 views
6

aşağıdaki C# sınıf özelliği vardır: sınıf yapıcısı böyle başlatılırXML dizesi dizisi gibi farklı tip Adını serisini

private List<string> _accountTypes; 

[XmlArray(ElementName = "accountTypes")] 
public List<string> AccountTypes 
{ 
    get { return _accountTypes; } 
    set { _accountTypes = value; } 
} 

: serileştirilemezse zaman

_accountTypes  = new List<string>(new string[] { "OHGEE", "OHMY", "GOLLY", "GOLLYGEE" }); 

Ben bu olsun :

<accountTypes> 
    <string>OHGEE</string> 
    <string>OHMY</string> 
    <string>GOLLY</string> 
    <string>GOLLYGEE</string> 
</accountTypes> 

:

<accountTypes> 
    <accountType>OHGEE</accountType> 
    <accountType>OHMY</accountType> 
    <accountType>GOLLY</accountType> 
    <accountType>GOLLYGEE</accountType> 
</accountTypes> 

"accountType" türünde bir alt sınıf oluşturmadan, bu nasıl yapılabilir? İhtiyacım olanı almak için kullanılabilecek herhangi bir XML özellik özelliği var mı?

cevap

11

Sana [XmlArrayItem] Özelliği arıyor düşünüyorum.

bu deneyin: aradığım cevaptı

[XmlArray(ElementName = "accountTypes")] 
[XmlArrayItem("accountType")] 
public List<string> AccountTypes 
{ 
    get { return _accountTypes; } 
    set { _accountTypes = value; } 
} 
+0

, çok teşekkür ederim !!! –

+0

+1 de bana yardımcı oldu. tvm. –

İlgili konular