सी # और .NET 3.5 का उपयोग करके मैं एक स्कीमा के खिलाफ एक XML दस्तावेज़ को सत्यापित करने का प्रयास कर रहा हूं जिसमें शामिल है। > Another.xsdxmldocument और नेस्टेड स्कीमा
शामिल another.xsd - -
स्कीमा और वहाँ भी शामिल
Schema1.xsd रूप में नीचे हैं> शामिल base.xsd
जब मैं Schema1 जोड़ने के लिए प्रयास करें। xsd को XmlDocument में मुझे निम्न त्रुटि मिलती है।
टाइप करें 'YesNoType' घोषित नहीं किया गया है या यह एक साधारण प्रकार नहीं है।
मुझे विश्वास है कि मुझे यह त्रुटि मिल रही है क्योंकि जब मैं Schema1.xsd स्कीमा लोड करता हूं तो base.xsd फ़ाइल को शामिल नहीं किया जा रहा है।
मैं XmlSchemaSet क्लास का उपयोग करने की कोशिश कर रहा हूं और मैं स्कीमा के स्थान पर XmlResolver uri सेट कर रहा हूं।
नोट: सभी स्कीमा समान निर्देशिका ई के तहत रहते हैं: \ देव \ मुख्य \ XmlSchemas
यहाँ कोड है
string schemaPath = "E:\\Dev\\Main\\XmlSchemas";
XmlDocument xmlDocSchema = new XmlDocument();
XmlSchemaSet s = new XmlSchemaSet();
XmlUrlResolver resolver = new XmlUrlResolver();
Uri baseUri = new Uri(schemaPath);
resolver.ResolveUri(null, schemaPath);
s.XmlResolver = resolver;
s.Add(null, XmlReader.Create(new System.IO.StreamReader(schemaPath + "\\Schema1.xsd"), new XmlReaderSettings { ValidationType = ValidationType.Schema, XmlResolver = resolver }, new Uri(schemaPath).ToString()));
xmlDocSchema.Schemas.Add(s);
ValidationEventHandler valEventHandler = new ValidationEventHandler
(ValidateNinoDobEvent);
try
{
xmlDocSchema.LoadXml(xml);
xmlDocSchema.Validate(valEventHandler);
}
catch (XmlSchemaValidationException xmlValidationError)
{
// need to interogate the Validation Exception, for possible further
// processing.
string message = xmlValidationError.Message;
return false;
}
किसी एक के खिलाफ एक XmlDocument के सत्यापन की सही दिशा में मुझे बात कर सकते हैं नेस्टेड के साथ स्कीमा शामिल हैं।
बीटीडब्ल्यू, सी # .NET जैसी कोई चीज़ नहीं है –