Csharp/CSharp Tutorial/XML/Xml Validation

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Using ValidationEventHandler

<source lang="csharp">using System; using System.IO; using System.Xml.Schema; public class ValidateSchema {

 public static void Main(string [] args) {
   ValidationEventHandler handler = new ValidationEventHandler(ValidateSchema.Handler);
   XmlSchema schema = XmlSchema.Read(File.OpenRead(args[0]),handler);
   schema.rupile(handler);
 }
 public static void Handler(object sender, ValidationEventArgs e) {
   Console.WriteLine(e.Message);
 }

}</source>

Validate Xml

<source lang="csharp">using System; using System.Xml; using System.Xml.Schema; public class MainClass {

 [STAThread]
 private static void Main()
 {
     string xmlFilename = "test.xml";
     string schemaFilename = "schema.xml";
       
       XmlReaderSettings settings = new XmlReaderSettings();
       settings.ValidationType = ValidationType.Schema;
       XmlSchemaSet schemas = new XmlSchemaSet();
       settings.Schemas = schemas;
       schemas.Add(null, schemaFilename);
       
       settings.ValidationEventHandler += ValidationEventHandler;
       
   XmlReader validator = XmlReader.Create(xmlFilename, settings);                
   
   try
   {
     while (validator.Read()){}
   } catch (XmlException err) {
     Console.WriteLine(err.Message);
   } finally {
     validator.Close();
   }
 }
 private static void ValidationEventHandler(object sender, ValidationEventArgs args)
 {
   Console.WriteLine("Validation error: " + args.Message);
 }

}</source>