コード例 #1
0
        private static bool ValidateXmlWithXsd(string xmlUri, string xsdUri)
        {
            try
            {
                StringBuilder     xmlFileData = new StringBuilder();
                XmlReaderSettings xmlSettings = new XmlReaderSettings();
                xmlSettings.Schemas        = new System.Xml.Schema.XmlSchemaSet();
                xmlSettings.ValidationType = ValidationType.Schema;
                XmlReader reader = XmlReader.Create(xmlUri, xmlSettings);
                using (StreamReader file = new StreamReader(xmlUri))
                {
                    string ln;
                    while ((ln = file.ReadLine()) != null)
                    {
                        xmlFileData.Append(ln);
                    }
                    file.Close();
                }


                XmlSerializer   serializer = new XmlSerializer(typeof(Message));
                List <Learners> lstLearners;
                using (TextReader textReader = new StringReader(xmlFileData.ToString()))
                {
                    Message result = (Message)serializer.Deserialize(textReader);
                    lstLearners = Learners.CastMessageToLearner(result);
                }
                // Parse the file.
                foreach (var item in lstLearners)
                {
                    item.AddToDatabase();
                }

                return(true);
            }
            catch (System.Xml.XmlException ex)
            {
                return(false);
            }
        }