Imports System.IO
Imports System.Xml
Imports System.Data
Imports System.Xml.Schema
Imports System.Collections
Imports System.Data.OracleClient
Imports System.Configuration.ConfigurationManager
Partial Class Pyroll
Inherits System.Web.UI.Page
Private XSDPath As String
Private Reader As XmlTextReader
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
If (FileUpload1.HasFile) Then
XSDPath = "c:\address.xsd"
ValidatingProcess("c:\address.xml", XSDPath)
Me.Reader = New XmlTextReader(FileUpload1.PostedFile.InputStream)
' Dim fileName As String = FileUpload1.FileName
'Dim ds As New DataSet
'ds.ReadXml(FileUpload1.PostedFile.InputStream)
'ds.ReadXmlSchema("c:\address.xsd")
Else
End If
End Sub
Private Sub ValidatingProcess(ByVal XMLPath As String, ByVal XSDPath As String)
Try
Me.Reader = New XmlTextReader(XMLPath)
Dim SR As New StreamReader(Me.XSDPath)
Dim Schema As New XmlSchema()
Schema = XmlSchema.Read(SR, New ValidationEventHandler(AddressOf ReaderSettings_ValidationEventHandler))
Dim ReaderSettings As New XmlReaderSettings()
ReaderSettings.ValidationType = ValidationType.Schema
ReaderSettings.Schemas.Add(Schema)
AddHandler ReaderSettings.ValidationEventHandler, New ValidationEventHandler(AddressOf ReaderSettings_ValidationEventHandler)
Dim objXmlReader As XmlReader = XmlReader.Create(Reader, ReaderSettings)
While objXmlReader.Read()
End While
Catch AccessEx As UnauthorizedAccessException
Throw AccessEx
Catch Ex As Exception
Throw Ex
End Try
End Sub
Private Sub ReaderSettings_ValidationEventHandler(ByVal sender As Object, ByVal args As ValidationEventArgs)
Dim strTemp As String
strTemp = "Line: " & Me.Reader.LineNumber & " - Position: " & Me.Reader.LinePosition & " - " & args.Message
End Sub
End Class