public sealed class ValidationEventArgs : EventArgs
|
Exception | Read-only |
Message | Read-only Gets the text description corresponding to the validation event. |
Severity | Read-only Gets the severity of the validation event. |
Equals (inherited from System.Object) |
See base class member description: System.Object.Equals Derived from System.Object, the primary base class for all objects. |
GetHashCode (inherited from System.Object) |
See base class member description: System.Object.GetHashCode Derived from System.Object, the primary base class for all objects. |
GetType (inherited from System.Object) |
See base class member description: System.Object.GetType Derived from System.Object, the primary base class for all objects. |
ToString (inherited from System.Object) |
See base class member description: System.Object.ToString Derived from System.Object, the primary base class for all objects. |
Finalize (inherited from System.Object) |
See base class member description: System.Object.Finalize Derived from System.Object, the primary base class for all objects. |
MemberwiseClone (inherited from System.Object) |
See base class member description: System.Object.MemberwiseClone Derived from System.Object, the primary base class for all objects. |
Hierarchy:
public XmlSchemaException Exception {get;}
|
public string Message {get;}
|
public XmlSeverityType Severity {get;}
|
using System; using System.IO; using System.Xml; using System.Xml.Schema; public class Sample { public static void Main () { //Load the schema collection. XmlSchemaCollection xsc = new XmlSchemaCollection(); xsc.Add("urn:bookstore-schema", "books.xsd"); //Validate the file using the schema stored in the collection. //Any elements belonging to the namespace "urn:cd-schema" generate //a warning since the there is no schema matching that namespace. Validate("store.xml", xsc); } private static void Validate(String filename, XmlSchemaCollection xsc) { Console.WriteLine(); Console.WriteLine("\r\nValidating XML file {0}...", filename.ToString()); XmlTextReader reader = new XmlTextReader (filename); XmlValidatingReader vreader=new XmlValidatingReader (reader); vreader.ValidationType = ValidationType.Schema; vreader.Schemas.Add(xsc); //Set the validation event handler. vreader.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack); //Read the XML data. while (vreader.Read()){} //Close the reader. vreader.Close(); } //Display any warnings or errors. public static void ValidationCallBack (object sender, ValidationEventArgs args) { if (args.Severity==XmlSeverityType.Warning) Console.WriteLine("\tWarning: Matching schema not found. No validation occurred." + args.Message); else Console.WriteLine("\tValidation error: " + args.Message); } }
The preceding example uses the following input files.
store.xml
<?xml version='1.0'?> <bookstore xmlns="urn:bookstore-schema" xmlns:cd="urn:cd-schema"> <book genre="novel"> <title>The Confidence Man</title> <price>11.99</price> </book> <cd:cd> <title>Americana</title> <cd:artist>Offspring</cd:artist> <price>16.95</price> </cd:cd> </bookstore>books.xsd
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:bookstore-schema" elementFormDefault="qualified" targetNamespace="urn:bookstore-schema"> <xsd:element name="bookstore" type="bookstoreType"/> <xsd:complexType name="bookstoreType"> <xsd:sequence maxOccurs="unbounded"> <xsd:element name="book" type="bookType"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="bookType"> <xsd:sequence> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="authorName"/> <xsd:element name="price" type="xsd:decimal"/> </xsd:sequence> <xsd:attribute name="genre" type="xsd:string"/> </xsd:complexType> <xsd:complexType name="authorName"> <xsd:sequence> <xsd:element name="first-name" type="xsd:string"/> <xsd:element name="last-name" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:schema>
~ValidationEventArgs(); |
public virtual int GetHashCode(); |
public Type GetType(); |
protected object MemberwiseClone(); |
public virtual string ToString(); |