Interrogare il file Xml per i record usando Linq

Di seguito è riportato il mio file xml. Devo ottenere campi menzionati per ogni pagina e per ogni tipo in una stringa separata da virgole. Si prega di aiutare su come procedere utilizzando Linq

Esempio: se desidero “Tipo = campi personalizzati” definiti per “pagina1”, devi ottenere l’output in ProjectID, EmployeeID, EmployeeName, hasExpiration ecc separati da virgole

   ProjectID EmployeeID EmployeeName HasExpiration EndDate   ProjectID EmployeeID EmployeeName HasExpiration EndDate IsInUpdateMode TimesheetSpendLimit     ProjectID EmployeeID EmployeeName HasExpiration EndDate IsInUpdateMode TimesheetSpendLimit   ProjectID EmployeeID EmployeeName HasExpiration EndDate IsInUpdateMode TimesheetSpendLimit    

Puoi farlo in questo modo:

 var Result = from a in element.Descendants("Page") from b in a.Descendants("Type") select new { Page = a.Attribute("Name").Value, Type = b.Attribute("TypeID").Value, Fields = String.Join(",", b.Elements("Field").Select(x => x.Value)) }; foreach (var item in Result) { Console.WriteLine(String.Format("Page = {0}:Type={1}:Fields:{2}", item.Page, item.Type, item.Fields)); } 

FIDDLE DI LAVORO

Controlla anche il mio articolo sul blog per ulteriori informazioni.