Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jun 17th, 2012  |  syntax: None  |  size: 1.89 KB  |  hits: 19  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Linq to XML Queries
  2. <?xml version="1.0" encoding="utf-8"?>
  3. <Customers>
  4.   <Customer Name="Jason Voorhees" WeaponPurchased="Machette" SalePrice="499.90" />
  5.   <Customer Name="Michael Myers" WeaponPurchased="Kitchen Knife" SalePrice="96.75" />
  6. </Customers>
  7.        
  8. foreach customer in Customers select WeaponPurchased where Name equals "Jason Voorhees"
  9.        
  10. foreach customer in Customers select customer
  11. label1.Text += "Name: " + customer.Name + Environment.NewLine + "WeaponPurchased: " + customer.WeaponPurchased;
  12.        
  13. var doc = XDocument.Load(Path.Combine(path, "file.xml"));
  14. var query = from c in doc.Descendants("Customer")
  15.             where c.Attributes("Name").Single().Value == "Jason Voorhees"
  16.             select c.Attributes("WeaponPurchased").Single().Value;
  17.        
  18. XElement root = XDocument.Load(path).Root;
  19. var result = root.Elements("Customers").
  20.              Where(x => x.Attribute("Name").Value =="Jason Voorhees").
  21.              Select(x => x.Attribute("WeaponPurchased").Value));
  22.        
  23. public class Customer
  24.     {
  25.         public string Name { get; set; }
  26.         public string WeaponPurchased { get; set; }
  27.         public string SalePrice { get; set; }
  28.     }
  29.        
  30. var customer = from c in XDocument.Load("XMLPATH").Descendants("Customer")
  31.                            where (string)c.Attribute("Name")=="Jason Voorhees"
  32.                            select new Customer
  33.                            {
  34.                                Name=(string)c.Attribute("Name"),
  35.                                WeaponPurchased = (string)c.Attribute("WeaponPurchased"),
  36.                                SalePrice = (string)c.Attribute("SalePrice"),
  37.  
  38.                            };
  39.  
  40.             foreach (var item in customer)
  41.             {
  42.                 Console.WriteLine(item.WeaponPurchased);
  43.  
  44.             }
  45.        
  46. from customer in Customers
  47. where customer.Attribute("Name").Value equals "Jason Voorhees"
  48. select customer.Attribute("WeaponPurchased").Value