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
|