Mega Code Archive

 
Categories / C# / XML LINQ
 

Validating an XML Document with a Lambda Expression

using System; using System.Linq; using System.Collections; using System.Collections.Generic; using System.Xml; using System.Xml.Schema; using System.Xml.Linq; public class MainClass {     public static void Main() {         XDocument xDocument = new XDocument(         new XElement("Books",           new XElement("Book",             new XAttribute("type", "Author"),             new XAttribute("language", "English"),             new XElement("FirstName", "A"),             new XElement("LastName", "B")),           new XElement("Book",             new XAttribute("type", "Author"),             new XElement("FirstName", "C"),             new XElement("LastName", "D"))));         Console.WriteLine(xDocument);         XmlSchemaSet schemaSet = new XmlSchemaSet();         schemaSet.Add(null, "bookparticipants.xsd");         try {             xDocument.Validate(schemaSet, (o, vea) => {                      Console.WriteLine(o.GetType().Name);                      Console.WriteLine(vea.Message);                      throw (new Exception(vea.Message));                  });         } catch (Exception ex) {             Console.WriteLine("Exception occurred: {0}", ex.Message);         }     } }