2009-07-30 14 views
14

का उपयोग कर एक सूची में deserialize कैसे करें मैं Components List<string> में deserialized के साथ, नीचे दिए गए एक्सएमएल को कक्षा में deserialize करने की कोशिश कर रहा हूं, लेकिन यह पता नहीं लगा सकता कि ऐसा कैसे करें। Deserializer सभी अन्य गुणों के लिए ठीक काम कर रहा है, लेकिन Components नहीं। क्या कोई जानता है कि इसे कैसे करना है? XmlSerializer

<ArsAction> 
    <CustomerName>Joe Smith</CustomerName> 
    <LoginID>jdsmith</LoginID> 
    <TicketGroup>DMS</TicketGroup> 
    <Software>Visio 2007 Pro</Software> 
    <Components> 
    <Component>Component 1</Component> 
    <Component>Component 2</Component> 
    </Components> 
    <Bldg>887</Bldg> 
    <Room>1320p</Room> 
</ArsAction> 
+0

कृपया उस श्रेणी को पोस्ट करें जिसे आप क्रमबद्ध करने और deserialize करने की कोशिश कर रहे हैं। –

उत्तर

36

अवयव की सूची धारण करने के लिए इस तरह एक संपत्ति जोड़ें:

[XmlArray()] 
public List<Component> Components { get; set; } 

संपादित करें: माफ करना, मैं कि पढ़ने में भूलना। आप इसे तारों के संग्रह में पढ़ना चाहते हैं। मैंने बस इसे नीचे करने की कोशिश की और यह आपके नमूने पर काम किया। कुंजी सिर्फ सही एक्सएमएल क्रमबद्धता गुणों को स्थापित करने के लिए है।

public class ArsAction 
{ 
    [XmlArray] 
    [XmlArrayItem(ElementName="Component")] 
    public List<string> Components { get; set; } 
} 
+0

वास्तव में मुझे बहुत मदद मिली थी – Lijo

+0

[XmlArray] वैकल्पिक है यदि संपत्ति का नाम टैग नाम –

+0

[XmlArrayItem (ElementName = "घटक")] के समान है [XmlArrayItem ("घटक")] के रूप में छोटा किया जा सकता है। नेट 4.0 –