Successfully Validating an XML Element

   
 

using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
using System.Xml;
using System.Xml.Schema;
using System.Xml.Linq;
using System.IO;
public class MainClass {
    public static void Main() {
        string schema =
          @"<?xml version=&#039;1.0&#039; encoding=&#039;utf-8&#039;?>
    <xs:schema attributeFormDefault=&#039;unqualified&#039; elementFormDefault=&#039;qualified&#039;
         xmlns:xs=&#039;http://www.w3.org/2001/XMLSchema&#039;>
      <xs:element name=&#039;Books&#039;>
       <xs:complexType>
        <xs:sequence>
         <xs:element maxOccurs=&#039;unbounded&#039; name=&#039;Book&#039;>
          <xs:complexType>
           <xs:sequence>
            <xs:element name=&#039;FirstName&#039; type=&#039;xs:string&#039; />
           <xs:element minOccurs=&#039;0&#039; name=&#039;MiddleInitial&#039;
                type=&#039;xs:string&#039; />
              <xs:element name=&#039;LastName&#039; type=&#039;xs:string&#039; />
            </xs:sequence>
            <xs:attribute name=&#039;type&#039; type=&#039;xs:string&#039; use=&#039;required&#039; />
          </xs:complexType>
        </xs:element>
       </xs:sequence>
      </xs:complexType>
     </xs:element>
    </xs:schema>";

        XmlSchemaSet schemaSet = new XmlSchemaSet();
        schemaSet.Add("", XmlReader.Create(new StringReader(schema)));

    }
}

    


Using ReplaceAll to Change an Element's Subtree

   
 

using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
using System.Xml;
using System.Xml.Linq;
public class MainClass {
    public static void Main() {
        XElement firstParticipant;
        XDocument xDocument = new XDocument(
          new XElement("Books", firstParticipant =
            new XElement("Book",
              new XAttribute("type", "Author"),
              new XElement("FirstName", "J"),
              new XElement("LastName", "R"))));
        Console.WriteLine(xDocument);
        firstParticipant.ReplaceAll(
             new XElement("FirstName", "C"),
             new XElement("LastName", "D"));
        Console.WriteLine(xDocument);
    }
}

    


Removing a Node's Content with RemoveAll

   
 

using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
using System.Xml;
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 XElement("FirstName", "J"),
              new XElement("LastName", "R")),
            new XElement("Book",
              new XAttribute("type", "Author"),
              new XElement("FirstName", "E"),
              new XElement("LastName", "B"))));
        Console.WriteLine(xDocument);
        xDocument.Element("Books").RemoveAll();
        Console.WriteLine(xDocument);
    }
}

    


Deleting a Sequence of Nodes with Remove

   
 

using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
using System.Xml;
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 XElement("FirstName", "J"),
              new XElement("LastName", "R")),
            new XElement("Book",
              new XAttribute("type", "Author"),
              new XElement("FirstName", "E"),
              new XElement("LastName", "B"))));
        xDocument.Descendants().Where(e => e.Name == "FirstName").Remove();
        Console.WriteLine(xDocument);
    }
}

    


Deleting a Specific Node with Remove

   
 
using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
using System.Xml;
using System.Xml.Linq;
public class MainClass {
    public static void Main() {
        XElement firstParticipant;
        XDocument xDocument = new XDocument(
          new XElement("Books", firstParticipant =
            new XElement("Book",
              new XAttribute("type", "Author"),
              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);
        firstParticipant.Remove();
        Console.WriteLine(xDocument);
    }
}

    


use Linq to query an XML document

   
 
using System;
using System.Linq;
using System.Xml;
using System.Xml.Linq;


static class HelloLinqToXml {
    static void Main() {
        var books = new[] {
      new {Title="A", Publisher="M", Year=2005 },
      new {Title="W", Publisher="M", Year=2006 },
      new {Title="R", Publisher="M", Year=2006 }
    };
        XElement xml = new XElement("books",
          from book in books
          where book.Year == 2006
          select new XElement("book",
            new XAttribute("title", book.Title),
            new XElement("publisher", book.Publisher)
          )
        );
        Console.WriteLine(xml);
    }
}

    


Query string array by its element length

using System;
using System.Linq;

class HelloWorld {
static void Main() {
string[] words = { “hello”, “wonderful”, “linq”, “beautiful”, “world” };
var shortWords = from word in words
where word.Length <= 5 select word; foreach (var word in shortWords) Console.WriteLine(word); } } [/csharp]