Friday 11 July 2014

Read XML Using LINQ in Asp.Net

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Linq;
namespace Test_MS.ReadXML
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
XDocument testDataFile = new XDocument();
testDataFile = XDocument.Load(AppDomain.CurrentDomain.BaseDirectory + "\\ReadXML\\Test.xml");
ValidateIndexRecord(testDataFile);
}
public void ValidateIndexRecord(XDocument testDataFile)
{
string keyword;
var searchStrings = from s in testDataFile.Descendants("SearchStrings") select s;
foreach (var element in searchStrings)
{
keyword = element.Descendants("SearchString").FirstOrDefault().Value;
string searchStringType = element.Descendants("SearchString").FirstOrDefault().Attribute("type").Value;
var expectedResults = from s in element.Descendants("ExpectedResults").Descendants("ExpectedResult") select s;
switch (searchStringType)
{
case "Local":
{
foreach (var expectedResult in expectedResults)
{
//Get Data from your External Data source
string strDateFromExtDateSource = "Local";
if (expectedResult.Value == strDateFromExtDateSource)
{
Response.Write("Local");
}
}
break;
}
case "STD":
{
foreach (var expectedResult in expectedResults)
{
//Get Data from your External Data source
string strDateFromExtDateSource = "STD";
if (expectedResult.Value == strDateFromExtDateSource)
{
Response.Write("STD");
}
}
break;
}
default:
{
Response.Write("Nothing......");
break;
}
}
}
}
}
}
------------------------------
XML