2009-09-05 13 views
6

को कैसे अनदेखा कर सकता हूं, मैं किसी तृतीय पक्ष .NET Lib से किसी XML फ़ाइल से प्राप्त कुछ ऑब्जेक्ट्स को क्रमबद्ध करने का प्रयास कर रहा हूं।मैं एक [XMLIgnore] विशेषता

जब मैं वस्तु के लिए Go To Definition, उस वस्तु के गुण से कुछ के रूप में [XMLIgnore]

चिह्नित कर रहे हैं किसी भी तरह से मेरी System.Xml.Serialization.XmlSerializer बताने के लिए इस तथ्य की अनदेखी करने कि कुछ गुण है कि विशेषता है और यह सब कुछ को क्रमानुसार चाहिए कि वहाँ है वस्तु में

मैं शायद स्रोत प्राप्त करने और XMLIgnore गुण के बिना इसे पुनः संकलित करें, लेकिन यह अच्छा होगा यदि XmlSerializer अग्रिम


संपादित में तरह

XmlSerializer xmls = new XmlSerializer(
    typeof(MyObject), 
    Settings.DoNotApplyXMLAttributeRules 
); 

धन्यवाद कुछ अच्छा ओवरराइड गुण था होगा सकता है

सुझाव नहीं बल्कि एच के रूप में XmlAttributeOverrides की कोशिश की है बहुत खुशी का आनंद लेना यहाँ वस्तु परिभाषा (यह एक फोटो के लिए FlickrAPI से है)

[Serializable] 
public class Photo 
{ 
    //Some code omitted 
    [XmlIgnore] 
    public string LargeUrl { get; } 

} 

और यहाँ serializer कोड मैं लिखा है फायदा नहीं है ... अभी भी काम नहीं करता है ...

XmlWriter xtw = XmlWriter.Create(Server.MapPath("~/App_Data/Data.xml")); 

XmlAttributes photoAttributes = new XmlAttributes(); 
photoAttributes.XmlIgnore = false; 

XmlAttributeOverrides photoOverrides = new XmlAttributeOverrides(); 
photoOverrides.Add(typeof(Photo), "LargeUrl", photoAttributes); 

XmlSerializer xmlphoto = new XmlSerializer(typeof(Photo), photoOverrides); 

उत्तर

12

:

XmlAttributeOverrides 

http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlattributes.xmlignore.aspx

संपादित करें: (प्रश्न संपादित करें)

संपत्ति सार्वजनिक होनी चाहिए और एक गेटर और सेटर को क्रमबद्ध करने के लिए होना चाहिए।

http://msdn.microsoft.com/en-us/library/182eeyhh%28VS.85%29.aspx

((पहले नोट देखें))

+0

की कोशिश की है कि लेकिन कोई खुशी। किसी और सुझाव का स्वागत है। अगर मैं कुछ मूर्खतापूर्ण कर रहा हूं तो मैंने मूल प्रश्न में कोड जोड़ा है। –

+1

लार्ज यूआरएल में एक सेटर नहीं है, इसलिए XmlIgnore विशेषता के बिना भी, इसे क्रमबद्ध नहीं किया जाएगा। – manji

+1

आह सही। मैं मूल्यों को स्टोर करने के लिए प्रॉक्सी क्लास बनाकर और उसके बाद इसे क्रमबद्ध करने के लिए इसके आसपास मिल गया है। –

संबंधित मुद्दे