c# - Use XmlSerializer to add a namespace without a prefix -
मैं अपने आउटपुट को इस तरह दिखना चाहता हूं
& lt; OrderContainer xmlns = "http: // ब्लाला / एपीआई / उत्पादों "xmlns: i =" http://www.w3.org/2001/XMLSchema-instance "& gt;
तो मैंने अपने XmlSerializer के लिए निम्नलिखित को जोड़ा है
XmlSerializer x = नया XmlSerializer (typeof (OrderContainer)); XmlSerializerNamespaces ns = नया XmlSerializerNamespaces (); Ns.Add ("", "http: // blabla / api / products"); Ns.Add ("i", "http://www.w3.org/2001/XMLSchema-instance"); // do stuff .. x.Serialize (स्ट्रीम, ऑर्डर कॉन्टैनेयर, एनएस);
लेकिन अब मुझे मिल
& lt; आदेशकैन्टेनियर xmlns: i = "http://www.w3.org/2001/XMLSchema-instance" & gt ;
तो मैं डिफ़ॉल्ट नेमस्पेस को कैसे संपादित करूं?
मेरी ऑब्जेक्ट परिभाषा इस तरह है:
[System.Runtime (सिस्टम नाम) "सीरियलिज़ेबल एट्रिब्यूट (नाम =" ऑर्डर कंटैनेयर ", नेमस्पेस =" http: // blabla / api / उत्पाद ")] [सिस्टम। सेरिअलाज़ेबल एट्रिब्यूट ()] सार्वजनिक आंशिक वर्ग आदेशकैन
आप जिस प्रकार से सीरियल कराना चाहते हैं उसके अतिरिक्त आप एक डिफ़ॉल्ट नेमस्पेस का उपयोग कर सकते हैं:
var X = नया एक्सएमएल सेरियलाइज़र (टाइपफ (ऑर्डर कंटैनेटेनर), "http: // ब्लबाला / एपीआई / उत्पाद"); Var ns = नया XmlSerializerNamespaces (); Ns.Add ("i", "http://www.w3.org/2001/XMLSchema-instance"); X.Serialize (स्ट्रीम, आदेशकैन, एनएस);
Comments
Post a Comment