Validating XML with multiple XSD using relative paths in .NET -
मैं एक XSD के विरुद्ध XML दस्तावेज़ को मान्य करने के लिए एक सामान्य VB.NET (VS2005) फ़ंक्शन लिखने की कोशिश कर रहा हूं। जब तक मैं किसी रिश्तेदार पथ के साथ XSD का उपयोग नहीं करता तब तक यह ठीक काम करता है जैसे:
& lt; xs: include schemaLocation = "test.02.xsd" / & gt;
यह किसी भी माध्यमिक दस्तावेज़ों में शामिल है जो कभी नहीं लग सकता है। यहां मेरा मूल कार्य नीचे दिया गया है मैं XmlUrlResolver () के साथ खेल रहा हूं लेकिन मुझे लगता है कि इसका उपयोग करते हुए कोई भी प्रगति नहीं कर पा रहा है। कोई भी मदद यहां बहुत सराहना की जाएगी।
निजी उप सत्यापन प्रक्रिया (स्ट्रिंग के रूप में, XV के रूप में स्ट्रिंग के रूप में, IX XMLPath स्ट्रिंग के लिए) मुझे कोशिश करो। रीडर = नया एक्सएमएलटेक्स्टरेडर (XMLPath) डीएम एसआर नई स्ट्रीम रीडर (एक्सएसडीएपी) नई XmlSchema के रूप में मंद स्कीमा () स्कीमा = XmlSchema.Read (SR, नया सत्यापनएवेंटहैंडलर (AddressOf ReaderSettings_ValidationEventHandler)) डायम रीडर सेटिंग्स नई XmlReaderSettings () के रूप में रीडर सेटिंग्स। ValidationType = ValidationType.Schema ReaderSettings.Schemas.Add (स्कीमा) AddHandler ReaderSettings.ValidationEventHandler, AddressOf ReaderSettings_ValidationEventHandler Dim objXmlReader के रूप में XmlReader = XmlReader.Create (Reader, ReaderSettings) जबकि objXmlReader.Read () एंड्रॉइड कैच एक्सेस ऐक्स अनधिकृत एक्सेस एक्सेस एक्सप्लोरर AccessEx कैच को एक्सप्रेसन के रूप में फेंक Ex End Try End End Sub
मैं इस तरह एक कस्टम XmlUrlResolver बनाकर इसे हल किया:
कक्षा कस्टमरसोलर इनरिटेट्स एक्सएमएलयूआरएलआरएसओवर निजी _CustomBaseUri यूरी पब्लिक सब न्यू के रूप में (यूआरआई के रूप में आधारभूत यूआरआई) यदि बेसयूआरआईआईएसफ़ाइल तब _CustomBaseUri = नया यूरी (पथ.नेट डायरेक्टरी (बेसयूआरआई.लोकलपाथ.ToString ()) & amp; "\") अन्यथा अंत अगर Me._CustomBaseUri = बेसयूआरआई एंड सब लोक ओवरलोड्स ओवरराइड फ़ंक्शन रिज़ोल्यूयूआरयूआरआई (यूआरआई के रूप में यूआरआई, यूआरएल के रूप में यूआरआई स्ट्रिंग के रूप में यूआरआई) यूआरआई के रूप में यदि बेसयूआरआई नहीं है तो फिर मायबेज लौटें। रिज़ोल्यूयूआरयूआरयू (बेसयूरी, रिलेक्ट्रीयूरी) या फिर मायबस लौटें ResolveUri (_CustomBaseUri, relativeUri) एंड एंड एंड फ़ंक्शन एना क्लास
Comments
Post a Comment