XML VB.Net

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