The below i am Reading a large Xml file.reading xml node by node and each node displayed in different gird view as shown below so
DataSet ds1 = sourcetable("xmlnode");
Session["GridView1"] =ds1.Tables[0];
GridView1.DataSource = Session["GridView1"];
GridView1.DataBind();
so but porblem is recreation the node in the xml which is created back from the datatable and i am reading as following
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(MapPath(Session["filepath"].ToString()));
XmlElement newDept = xmlDoc.CreateElement("nodename");
for (int i = 1; i <= n; i++)
{
DataTable dtab = Session["GridView" + i] as DataTable;
dtab.TableName = "tablename";
foreach (DataRow rw in dtab.Rows)
{
XmlElement nameNode = xmlDoc.CreateElement(rw[0].ToString());
newDept.AppendChild(nameNode);
nameNode.InnerText = rw[1].ToString();
xmlDoc.DocumentElement.InsertAfter(newDept, xmlDoc.DocumentElement.LastChild);
}
}
in above above we are getting the result as following
<nodename>
<node1>text<node1 />
<node2>text<node2 />
<node3>text<node3 />
<nodename>
so but i want to create new node in between as show below
<nodename>
<node1>text<node1 />
<newnode>
<node2>text<node2 />
<newnode />
<nodename1>
<node3>text<node3 />
<nodename1 />
<nodename>
so i want to insert the newnode in between newly created nodes so please given a solution for the above and its a web application and i am using asp.net C#
What I have tried:
for (int i = 1; i <= n; i++)
{
DataTable dtab = Session["GridView" + i] as DataTable;
dtab.TableName = "tablename";
foreach (DataRow rw in dtab.Rows)
{
XmlElement nameNode = xmlDoc.CreateElement(rw[0].ToString());
newDept.AppendChild(nameNode);
nameNode.InnerText = rw[1].ToString();
xmlDoc.DocumentElement.InsertAfter(newDept, xmlDoc.DocumentElement.LastChild);
}
}