NerdyHearn
Home

IPhone SMS To Gmail

Consulting

Blog
Software
Projects
Links
About
Contact

Blog
Facebook
Twitter
LinkedIn

NerdyHearn - Blog


<< 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")
select
{
Attributes = (from attribute in list.Attributes()
select attribute).ToDictionary(
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.

Tags

CSharp LINQ

Related Blogs

ASP.NET Best Practices
Creating a PDF with C# and iTextSharp
Fixing "Error in loading DLL" in SharePoint
Reading a Microsoft Project file (mpp) in C#
Reading IPhone Text Messages using C# and SQLite

Comments

Currently no comments.

Add A Comment

Name:


URL:


Email Address: (not public, used to send notifications on further comments)


Comments:


Please enter the text from the image:



NerdyHearn - Latest tech news relating to C#, SharePoint, PHP, general development, and more. LiveNation Feed - Feeds of all your local artists, concerts, and events through your favorite RSS reader SaveMySerials - Protect yourself from theft, fire, natural disasters and more by recording your serial numbers Tweets2Mail - Backup and search your twitter stream from Gmail TimeSinceI - Track how long you have quit smoking, how long you have been married, or how long you have done anything.