Hi mahesh213,
Check this example. Now please take its reference and correct your code.
XML
<?xml version="1.0" encoding="utf-8"?>
<Orders>
<Order>
<OrderId>1</OrderId>
<OrderName>a</OrderName>
<Item>
<ItemId>1</ItemId>
<ItemName>aa</ItemName>
</Item>
<Tax>
<TaxId>1</TaxId>
<TaxName>ff</TaxName>
</Tax>
</Order>
<Order>
<OrderId>1</OrderId>
<OrderName>a</OrderName>
<Item>
<ItemId>1</ItemId>
<ItemName>aa</ItemName>
</Item>
<Tax>
<TaxId>2</TaxId>
<TaxName>gg</TaxName>
</Tax>
</Order>
<Order>
<OrderId>1</OrderId>
<OrderName>a</OrderName>
<Item>
<ItemId>2</ItemId>
<ItemName>bb</ItemName>
</Item>
<Tax>
<TaxId>3</TaxId>
<TaxName>hh</TaxName>
</Tax>
</Order>
<Order>
<OrderId>2</OrderId>
<OrderName>b</OrderName>
<Item>
<ItemId>3</ItemId>
<ItemName>cc</ItemName>
</Item>
<Tax>
<TaxId>4</TaxId>
<TaxName>hh1</TaxName>
</Tax>
</Order>
</Orders>
Controller
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(string orderId)
{
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(Server.MapPath("~/Files/Order.xml"));
XmlNodeList xNodes = xmlDocument.SelectNodes("/Orders/Order[OrderId='" + orderId + "']");
DataTable dt = ConvertXmlNodeListToDataTable(xNodes);
return View(dt);
}
public static DataTable ConvertXmlNodeListToDataTable(XmlNodeList xnl)
{
DataTable dt = new DataTable();
int TempColumn = 0;
foreach (XmlNode node in xnl.Item(0).ChildNodes)
{
TempColumn++;
DataColumn dc = new DataColumn(node.Name, System.Type.GetType("System.String"));
if (dt.Columns.Contains(node.Name))
{
dt.Columns.Add(dc.ColumnName = dc.ColumnName + TempColumn.ToString());
}
else
{
dt.Columns.Add(dc);
}
}
int ColumnsCount = dt.Columns.Count;
for (int i = 0; i < xnl.Count; i++)
{
DataRow dr = dt.NewRow();
for (int j = 0; j < ColumnsCount; j++)
{
dr[j] = xnl.Item(i).ChildNodes[j].InnerText;
}
dt.Rows.Add(dr);
}
return dt;
}
}
View
@model DataTable
@using System.Data
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
<input type="text" name="orderId" value="1" />
<input type="submit" name="name" value="Get Data" />
<hr />
if (Model != null)
{
<table>
<tr>
@foreach (DataColumn dc in Model.Columns)
{
<th>@dc.ColumnName</th>
}
</tr>
@foreach (DataRow dr in Model.Rows)
{
<tr>
@foreach (DataColumn dc in Model.Columns)
{
<td>@dr[dc.ColumnName]</td>
}
</tr>
}
</table>
}
}
</div>
</body>
</html>
Screenshot
![](https://i.imgur.com/6ehaAb3.gif)