Advertisement
Fhernd

ConsultaLinqSobreXml.cs

Jun 15th, 2016
2,541
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.99 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Xml.Linq;
  6.  
  7. namespace Recetas.CSharp.R0615
  8. {
  9.     public class ConsultaLinqSobreXml
  10.     {
  11.         public static void Main()
  12.         {
  13.             Console.WriteLine ();
  14.            
  15.             // Carga del archivo XML:
  16.             XElement elementoRaiz = XElement.Load("store.xml");
  17.            
  18.             // Selecciona todos los productos de la categoría con ID 16:
  19.             IEnumerable<string> productosCat16 = from elemento in elementoRaiz.Elements()
  20.                                                     where (
  21.                                                         elemento.Name == "Products" &&
  22.                                                             ((string) elemento.Element("CategoryID"))
  23.                                                                 == "16")
  24.                                                     select ((string)elemento.Element("ModelName"));
  25.            
  26.             // Se muestra en la salida estándar todos los productos
  27.             // resultantes de la consulta LINQ anterior:
  28.             foreach (string valor in productosCat16)
  29.             {
  30.                 Console.WriteLine ("Producto en categoría 16: {0}", valor);
  31.             }
  32.            
  33.             Console.WriteLine ("\nPresione Enter para continuar...");
  34.             Console.ReadLine ();
  35.            
  36.             // Consulta usando métodos de instancia:
  37.             productosCat16 = elementoRaiz.Elements().Where(elemento => elemento.Name == "Products"
  38.                 && (string) elemento.Element("CategoryID") == "16")
  39.                 .Select(elemento => (string) elemento.Element("ModelName"));
  40.                
  41.             // Visualización de la consulta:
  42.             foreach(string valor in productosCat16)
  43.             {
  44.                 Console.WriteLine ("Producto en categoría 16: {0}", valor);
  45.             }
  46.            
  47.             Console.WriteLine ();
  48.         }
  49.     }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement