public void ValidateXml(XmlSchemaSet schemas, ValidationEventHandler validationEventHandler) { ThrowIfObjectDisposed(); if (schemas == null) { throw new ArgumentNullException(nameof(schemas)); } XmlReaderSettings xmlReaderSettings = new XmlReaderSettings { #if FEATURE_XML_PROHIBIT_DTD ProhibitDtd = true, // set true explicitly for security fix #else DtdProcessing = DtdProcessing.Prohibit, // set to prohibit explicitly for security fix #endif MaxCharactersInDocument = this.MaxCharactersInPart }; XmlReader xmlReader = null; // XML validator object using (Stream partStream = this.GetStream()) { //xmlReaderSettings.Schemas.Add(null, schemaFile); xmlReaderSettings.Schemas = schemas; xmlReaderSettings.ValidationType = ValidationType.Schema; // Add validation event handler if (validationEventHandler != null) { xmlReaderSettings.ValidationEventHandler += validationEventHandler; } using (xmlReader = XmlConvertingReaderFactory.Create(partStream, xmlReaderSettings)) { // Validate XML data while (xmlReader.Read()) { ; } } } }
public void ValidateXml(XmlSchemaSet schemas, ValidationEventHandler validationEventHandler) { ThrowIfObjectDisposed(); if (schemas == null) { throw new ArgumentNullException(nameof(schemas)); } XmlReaderSettings xmlReaderSettings = new XmlReaderSettings { #if FEATURE_XML_PROHIBIT_DTD ProhibitDtd = true, #else DtdProcessing = DtdProcessing.Prohibit, #endif MaxCharactersInDocument = MaxCharactersInPart, Schemas = schemas, ValidationType = ValidationType.Schema, }; using (var partStream = GetStream()) { if (validationEventHandler != null) { xmlReaderSettings.ValidationEventHandler += validationEventHandler; } using (var xmlReader = XmlConvertingReaderFactory.Create(partStream, xmlReaderSettings)) { // Validate XML data while (xmlReader.Read()) { } } } }