Validating XML documents against Schemas
Imports System.Xml Imports System.Xml.Schema Public Class MainClass Shared Dim valid As Boolean ' validation result Shared Sub Main() Dim schemas As XmlSchemaCollection ' Schemas valid = True ' assume document is valid ' get Schema(s) for validation schemas = New XmlSchemaCollection() schemas.Add("book", "book.xdr") ' get XML document Dim reader As XmlTextReader = _ New XmlTextReader("document.xml") ' get validator Dim validator As XmlValidatingReader = _ New XmlValidatingReader(reader) ' assign Schema(s) validator.Schemas.Add(schemas) ' Microsoft XDR validation validator.ValidationType = ValidationType.XDR ' register event handler for validation error(s) AddHandler validator.ValidationEventHandler, _ AddressOf ValidationError ' validate document node-by-node While validator.Read ' empty body End While ' check validation result If valid Then Console.WriteLine("Document is valid") End If valid = True ' reset variable validator.Close() End Sub ' event handler for validation error Shared Private Sub ValidationError(ByVal sender As Object, _ ByVal arguments As ValidationEventArgs) Console.WriteLine(arguments.Message) valid = False ' validation failed End Sub ' ValidationError End Class