using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using System.Xml.XPath;
using System.Xml.Schema;
public class MainClass
{
public static void Main()
{
XmlDocument doc;
XPathNavigator editor2;
XmlWriter writer;
XmlSchemaSet schemaSet;
ValidationEventHandler handler;
doc = new XmlDocument();
doc.Load("pubs.xml");
foreach (XPathNavigator editor in doc.CreateNavigator().Select("/pubs/titles[authors/@au_lname='Green']"))
{
editor2 = editor.SelectSingleNode("authors[@au_lname!='Green']");
if (editor2 != null) editor2.DeleteSelf();
writer = editor.AppendChild();
writer.WriteStartElement("authors");
writer.WriteAttributeString("au_lname", "MacFeather");
writer.WriteAttributeString("au_fname", "Stearns");
writer.Close();
}
XPathNavigator editor3 = doc.CreateNavigator();
schemaSet = new XmlSchemaSet();
schemaSet.Add(null, "pubs.xsd");
schemaSet.Compile();
handler = new System.Xml.Schema.ValidationEventHandler(ValidationCallback);
doc.Save("output.xml");
}
public static void ValidationCallback(object sender, ValidationEventArgs e)
{
System.Console.WriteLine(e.Message);
}
}