2009-08-10 10 views
25

मैं एक निम्न XML है:.NET में deserialization के दौरान नेमस्पेस उपसर्गों का समर्थन करने के लिए मैं XML serialization विशेषताओं को कैसे निर्दिष्ट करूं?

<person xmlns:a="http://example.com" xmlns:b="http://sample.net"> 
    <a:fName>John</a:fName> 
    <a:lName>Wayne</a:lName> 
    <b:age>37</b:age> 
</person> 

मैं एक्सएमएल क्रमबद्धता को परिभाषित करना कैसे एक वर्ग पर विशेषताओं का वर्णन किया समर्थन करने के लिए परिदृश्य?

उत्तर

54

आपको यह इंगित करने की आवश्यकता होगी कि XmlElement विशेषता के नामस्थान का उपयोग करके प्रत्येक फ़ील्ड को किन नामों की आवश्यकता है। यह आपको किसी विशेष नामस्थान के साथ फ़ील्ड को जोड़ने की अनुमति देगा, लेकिन आपको उपसर्ग एसोसिएशन प्राप्त करने के लिए अपनी कक्षा पर एक संपत्ति का खुलासा करने की आवश्यकता होगी जो XmlNamespaceDeclarations टाइप करता है।

दस्तावेज़ देखें और नमूना नीचे:

[XmlRoot(ElementName="person")] 
    public class Person 
    { 

     [XmlElement(Namespace="http://example.com")] 
     public string fname; 

     [XmlElement(Namespace="http://sample.com")] 
     public string lname; 

     [XmlNamespaceDeclarations] 
     public XmlSerializerNamespaces xmlns = new XmlSerializerNamespaces(); 

     public Person() 
     { 
      xmlns.Add("a", "http://example.com"); 
      xmlns.Add("b", "http://sample.com"); 
     } 
    } 
+0

यह है कि, धन्यवाद! –

+1

दूसरों के लिए एक नोट, ऐसा लगता है कि XmlSerializerNamespaces चीज़ की आवश्यकता नहीं है यदि आप केवल deserialization करते हैं, हालांकि मैं अभी भी इसे एक अच्छा अभ्यास मानता हूं। –

+1

किंवदंती मैं इसके लिए उम्र की तलाश कर रहा हूं! – jcvandan

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