We are building a Website in Silverlight that needs to access some data from a XML file.
Here is an example of XML document.
<?xml version="1.0" encoding="utf-8" ?>
<Contents> <Content Title="Mahesh Chand" ImageUri="ADO.NET Programming with C#" RedirectText="APress" RedirectUri="2003" Description="44.95" > </Content>
<Content Title="Raj Beniwal" ImageUri="Mastering Silverlight" RedirectText="Mindcracker" RedirectUri="2010" Description="49.95" />
<Content Title="Mike Gold" ImageUri="Visual C# Programming" RedirectText="Microgold Press" RedirectUri="2005" Description="44.95" />
</Contents>
Before you can use LINQ to XML, you must add a reference to the System.Xml.Linq.dll assembly and import the following namespace in the code.
using System.Xml.Linq;
The following code snippet loads XML file in a Silverlight application using LINQ to XML and reads all of the attributes of the nodes. To run this code, create a Silverlight Web application, add a Button and a ListBox control and write the following code on the Button click event handler.
// Load XML documentXDocument doc = XDocument.Load("Authors.xml");
// Get all nodes of the root node
IEnumerable<XNode> nodes = from xmlNode in doc.Root.Nodes() select xmlNode;
foreach (XNode node in nodes){
XElement elm = (XElement)node;
IEnumerable<XAttribute> attList = from at in elm.Attributes() select at;
foreach (XAttribute att in attList) {
listBox1.Items.Add(att.Name + " : " + att.Value); }
}