Mega Code Archive

 
Categories / VB.Net / XML
 

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