using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;

namespace IntroLinqToXML
{
    class Program
    {
        static void Main(string[] args)
        {
            //XDocument xdoc = XDocument.Load(@"c:\lavoro-temp\Squadra.xml");

            //xdoc.Save(@"c:\lavoro-temp\Squadra2.xml");

            //Console.WriteLine(xdoc);

            //XElement xePersona = new XElement("persona", "Luca Boschi");

            //XElement xePersona = new XElement("persona",
            //                            new XAttribute("ruolo","docente"),
            //                            new XElement("nome", "Luca"),
            //                            new XElement("cognome", "Boschi"));

            //xePersona.Save(@"c:\lavoro-temp\EsempioPersona.xml");

            //Console.WriteLine(xePersona);


            
            // Interrogazioni a documenti XML utilizzando LINQ

            XDocument xdoc = XDocument.Load(@"c:\lavoro-temp\Squadra.xml");

            var query = from calciatore in xdoc.Descendants("calciatore")
                        select calciatore.Value;    // con .Value ottengo il contenuto degli elementi XML

            Console.WriteLine("Squadra composta da " + query.Count() + " calciatori");

            foreach (var calc in query)
            {
                Console.WriteLine(calc);
            }

            Console.ReadLine();
        }
    }
}
