Mega Code Archive

 
Categories / C# Tutorial / XML
 

Selecting single Node with SelectSingleNode as XmlElement

using System; using System.Collections.Generic; using System.IO; using System.Xml; public class Customer {     public string FirstName { get; set; }     public string LastName { get; set; }     public string EmailAddress { get; set; }     public override string ToString()     {         return string.Format("{0} {1}\nEmail:   {2}", FirstName, LastName, EmailAddress);     } } public class Tester {     static void Main()     {         List<Customer> customers = new List<Customer>{                 new Customer { FirstName = "A",                                 LastName = "G",                                EmailAddress = "o@a.com"},                 new Customer { FirstName = "B",                                 LastName = "C",                                EmailAddress = "k@a.com" },                 new Customer { FirstName = "D",                                 LastName = "C",                                EmailAddress = "d@a.com" },                 new Customer { FirstName = "E",                                 LastName = "G",                                EmailAddress = "j@a.com" },                 new Customer { FirstName = "L",                                 LastName = "H",                                EmailAddress = "l@a.com" }             };         XmlDocument customerXml = new XmlDocument();         XmlElement rootElem = customerXml.CreateElement("Customers");         customerXml.AppendChild(rootElem);         foreach (Customer customer in customers)         {             XmlElement customerElem = customerXml.CreateElement("Customer");             XmlAttribute firstNameAttr = customerXml.CreateAttribute("FirstName");             firstNameAttr.Value = customer.FirstName;             customerElem.Attributes.Append(firstNameAttr);             XmlAttribute lastNameAttr = customerXml.CreateAttribute("LastName");             lastNameAttr.Value = customer.LastName;             customerElem.Attributes.Append(lastNameAttr);             XmlElement emailAddress = customerXml.CreateElement("EmailAddress");             emailAddress.InnerText = customer.EmailAddress;             customerElem.AppendChild(emailAddress);             rootElem.AppendChild(customerElem);         }         string xPath = "/Customers/Customer[@FirstName='D']";         XmlElement customerElem1 = customerXml.SelectSingleNode(xPath) as XmlElement;         if (customerElem1 != null)         {             Console.WriteLine(customerElem1.OuterXml);             Console.WriteLine("customerElem.HasAttributes = {0}", customerElem1.HasAttributes);         }         else             Console.WriteLine("Not found");     } }