मुझे सभी समान स्कीमा/संरचना के बाद हजारों एक्सएमएल फाइलें मिलीं। मैंने IXmlSerializable लागू किया और इस प्रकार तत्वों को पढ़ रहा हूं और खुद को विशेषता देता हूं।.NET एक्सएमएल Deserialization नामस्थानों को अनदेखा
मेरी समस्या यह है कि ये फ़ाइलें प्रत्येक एक अलग फोनी नेमस्पेस का उपयोग करती हैं। ये फ़ाइलें किसी अन्य स्रोत से आती हैं, इसलिए मैं इसे बदल नहीं सकता: डी इसके अलावा, मेरे लिए उन नामस्थानों में से कई हैं जो केवल संभावित नामस्थानों की एक सरणी बनाने और xmlserializer के साथ पास करने के लिए हैं।
अभी, अगर मैं नामस्थान निर्दिष्ट नहीं करता हूं, तो यह एक [xmlns: ns0 = "http://tempuri.org/abcd.xsd" अपेक्षित नहीं था] त्रुटि फेंकता है।
मैं अपने ऑब्जेक्ट को deserializing और केवल ReadXML को आग लगने पर नामस्थान को अनदेखा करने के लिए serializer बताने में सक्षम होना चाहूंगा। या बस इसे "http://tempuri.org/" नामस्थान स्वीकार करने के लिए कहने में सक्षम हो।
क्या यह संभव है?
मैं जितनी ज्यादा हो सके फ़ाइलों को संशोधित करने से बचना चाहता हूं।
धन्यवाद!
क्या आपने नेमस्पेस प्राप्त करने के लिए पहले XML को लोड करने पर विचार किया है ताकि आप उसे XmlSerializer में पास कर सकें? –
@StevenDoggart हां मैंने किया, लेकिन मैं जानना चाहता हूं कि इससे पहले कि मैं इसके आसपास काम करना शुरू करूँ, ऐसा करने के लिए और अधिक "उचित" तरीका है या नहीं। यह सिर्फ मूर्खतापूर्ण लगता है कि आप अपवाद प्राप्त किए बिना नामस्थानों को अनदेखा नहीं कर सकते: एस – user1698428
हां, यह एक बहुत अच्छा सवाल है और अगर इसका उत्तर भी है तो मैं बहुत उत्सुक हूं। –