Console Validator : XML Validation « XML « VB.Net






Console Validator

    

Imports System
Imports System.Xml
Imports System.Xml.Schema

    Public Class MainClass
        Public Shared Sub Main(ByVal args As String())
            Dim xmlValidator As New ConsoleValidator
            Dim success As Boolean = xmlValidator.ValidateXML(args(0), args(1))
            If Not success Then
                Console.WriteLine("Validation failed.")
            Else
                Console.WriteLine("Validation succeeded.")
            End If
        End Sub
    End Class
    Public Class ConsoleValidator
        Private failed As Boolean
        Public Function ValidateXML(ByVal xmlFileName As String, ByVal schemaFileName As String)
            Dim settings As New XmlReaderSettings
            settings.ValidationType = ValidationType.Schema
            Dim schemas As New XmlSchemaSet
            settings.Schemas = schemas
            schemas.Add(Nothing, schemaFileName)
            AddHandler settings.ValidationEventHandler, AddressOf HandleValidationEvents
            Dim validator As XmlReader = XmlReader.Create(xmlFileName, settings)
            failed = False
            Try
                While validator.Read()
                End While
            Catch ex As Exception
                Console.WriteLine(ex.Message)
                failed = True
            End Try
            validator.Close()
            Return Not failed

        End Function
        Private Sub HandleValidationEvents(ByVal sender As Object, ByVal args As ValidationEventArgs)
            failed = True
            Console.WriteLine(args.Message)
        End Sub

    End Class

   
    
    
    
  








Related examples in the same category

1.Validate XML document with Validation Error HandlerValidate XML document with Validation Error Handler
2.Handle validation event
3.Validate contosoBooks.xml
4.Validating Modified xml
5.Illustrates reading and writing XML schemas from and to a file.
6.XmlSchema validation call back
7.AddressOf ValidationCallbackOne