<< Back To All Blogs
Enumerating all attributes of an element and adding them to a dictionary using LINQ with Lambda Expressions
Thursday, May 14th, 2009
I have been confronted a number of times lately with the need to record all attributes of an XML element, especially when working with SharePoint XML where the attributes are simply too many to strongly-type
the resulting output.
This can be easily achieved while using LINQ along with a simple Lambda expression.
Without further ado, here is my resolution:
var lists = from list in doc.Descendants("MyElement")
Attributes = (from attribute in list.Attributes()
n => n.Name.LocalName, n => n.Value)
This will give you a resulting var of elements' XML attributes. This can than be enumerated like any other C# dictionary.
Very useful, and not very hard, but took me a few minutes to figure out nonetheless.
LINQin' Tom Out.
Retrieving Text from Win32 SDK's GetLastError() in C#
Comparing XML files in C# Using Microsoft's Diff and Patch Tool
Awesome .NET 4: Named and Optional Parameters for Classes and Methods
Querying Table Entities with Microsoft Azure (And ADO.NET Data Services Framework)
Impersonating a user in ASP.NET
Currently no comments.
Add A Comment
Email Address: (not public, used to send notifications on further comments)
Enter the text above, except for the 1st and last character: