मुझे DataContractSerializer के साथ प्राइमेटिव्स की सूची का उपयोग करते समय कस्टम तत्व नाम सेट करने के बारे में जाने का सबसे अच्छा तरीका है। मान लीजिए कि मेरे पास निम्न श्रेणी है जिसमें स्ट्रिंग्स की सूची डेटामेम्बर के रूप में है।प्राइमेटिव्स की सूची पर DataContractSerializer का उपयोग कर कस्टम एलिमेंट नाम
[DataContract]
public class ClassName
{
[DataMember]
public List<String> FieldName { get; set; }
}
डिफ़ॉल्ट रूप से, यह निम्न के serializes:
<ClassName xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<FieldName xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<a:string>Value 1</a:string>
<a:string>Value 2</a:string>
<a:string>Value 3</a:string>
</FieldName>
</ClassName>
मैं XSLT के माध्यम से बदलने के लिए तो आदर्श मैं और अधिक उपयोगी कुछ में टैग का नाम बदल जाएगा XML के रूप में संभव के रूप में सरल बनाने के लिए चाहते हैं, मूल्य की तरह
एक संभावित समाधान में एक वर्ग बनाना शामिल है जो संग्रह को बढ़ाता है और CollectionDataMember पैरामीटर के लिए आइटम नाम सेट करता है, जिसे मुझे here मिला। मैं सोच रहा था कि क्या इस अतिरिक्त वर्ग या रैपर वर्ग के अन्य रूप की आवश्यकता के बिना एक ही लक्ष्य को पूरा करने का कोई तरीका था। XML serializer इसे पूरा करने के लिए XMLArray और XMLArrayItem पैरामीटर का उपयोग करता है लेकिन DataContractSerializer में समान कार्यक्षमता नहीं दिखती है।
किसी भी सुझाव या विचार के लिए धन्यवाद!
एक अन्य विकल्प हो सकता है कि आप एक वर्ग बनाएं जिसका नाम "मान: स्ट्रिंग" जो System.String से विरासत हैं और उसका उपयोग DataMember में ... – Nabheet
@NabheetSandhu 'System.String' बंद है। आप इससे प्राप्त नहीं कर सकते हैं। –