Validate XML against XSD File In C# And VB.NET
In my nature of work, we dealt with XML files and schema on a daily basis. And here's a cool snippet on validating XML file against and XSD file.
C#
VB.NET
Thanks to kleinma(Visual Basic Guru) for this snippet.
C#
using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Diagnostics; using System.Xml; using System.Xml.Schema; using System.Xml.XPath; public class Form1 { private void Form1_Load(SystemObject sender, SystemEventArgs e) { XmlDocument myDocument = new XmlDocument(); myDocument.Load("C:\\somefile.xml"); myDocument.Schemas.Add("namespace here or empty string", "C:\\someschema.xsd"); ValidationEventHandler eventHandler = new ValidationEventHandler(ValidationEventHandler); myDocument.Validate(eventHandler); } private void ValidationEventHandler(object sender, ValidationEventArgs e) { switch (e.Severity) { case XmlSeverityType.Error: Debug.WriteLine("Error: {0}", e.Message); break; case XmlSeverityType.Warning: Debug.WriteLine("Warning {0}", e.Message); break; } } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | Imports System Imports System.Xml Imports System.Xml.Schema Imports System.Xml.XPath Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim myDocument As New XmlDocument myDocument.Load("C:\somefile.xml") myDocument.Schemas.Add("namespace here or empty string", "C:\someschema.xsd") Dim eventHandler As ValidationEventHandler = New ValidationEventHandler(AddressOf ValidationEventHandler) myDocument.Validate(eventHandler) End Sub Private Sub ValidationEventHandler(ByVal sender As Object, ByVal e As ValidationEventArgs) Select Case e.Severity Case XmlSeverityType.Error Debug.WriteLine("Error: {0}", e.Message) Case XmlSeverityType.Warning Debug.WriteLine("Warning {0}", e.Message) End Select End Sub End Class |
Thanks to kleinma(Visual Basic Guru) for this snippet.
Comments
Post a Comment