Handle validation event
Public Class Example9
Shared Sub Main
Dim doc As System.Xml.XmlDocument
Dim editor, editor2 As System.Xml.XPath.XPathNavigator
Dim writer As System.Xml.XmlWriter
Dim schemaSet As System.Xml.Schema.XmlSchemaSet
Dim handler As System.Xml.Schema.ValidationEventHandler
doc = New System.Xml.XmlDocument()
doc.Load("pubs.xml")
For Each editor In doc.CreateNavigator().Select("/pubs/titles[authors/@au_lname='Green']")
editor2 = editor.SelectSingleNode("authors[@au_lname!='Green']")
If Not IsNothing(editor2) Then
editor2.DeleteSelf()
End If
writer = editor.AppendChild()
writer.WriteStartElement("authors")
writer.WriteAttributeString("au_lname", "A")
writer.WriteAttributeString("au_fname", "B")
writer.Close()
Next
editor = doc.CreateNavigator()
schemaSet = New System.Xml.Schema.XmlSchemaSet()
schemaSet.Add(Nothing, "pubs.xsd")
schemaSet.Compile()
handler = New System.Xml.Schema.ValidationEventHandler(AddressOf ValidationCallback)
doc.Save("output.xml")
End Sub
Public Sub ValidationCallback(ByVal sender As Object, ByVal e As System.Xml.Schema.ValidationEventArgs)
System.Console.WriteLine(e.Message)
End Sub
End Class
Related examples in the same category