LINQ för att enkelt generera XML
2009-04-17 17:54 - Utvecklingstips av Tommy Söderström
Tommy Söderström
Systemutvecklare
Iteam
Att generera XML har tidigare alltid varit lite trixigt men med LINQ är det hur enkelt som helst.
Vi vill skapa en XML-fil med struktur enligt nedan:
<colors>
<color name="Svart" id="12">
<rgb>#111410</rgb>
</color>
</colors>
C#-koden som behövs:
XElement xml = new XElement("colors", from page in colorPages
select new XElement("color",
new XAttribute("name", page.PageName),
new XAttribute("id", page.PageLink.ID),
new XElement("rgb", Convert.ToString(page["hex"])))
);
I exemplet är colorPages en PageDataCollection från Episerver men det kunde förstås lika gärna vara t.ex. en lista, array eller dataset av valfri sort.
För att sedan plocka ut xmldokumentet som text och skriva ut den till t.ex en websida räcker det med att skriva:
Response.ContentType ="text/xml";
Response.Write(xml.ToString());
... och du vet väl att Iteam just nu söker duktiga medarbetare? Läs mer på iteam.se
Andra bloggar om:
Utveckling,
LINQ,
.NET,
.NET 3.5,
XML