Click here to Skip to main content
16,004,778 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
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

C#
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

C#
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

HTML
<nodename>
<node1>text<node1 />
<node2>text<node2 />
<node3>text<node3 />
<nodename>


so but i want to create new node in between as show below

HTML
<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:

C#
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);

                            

            }

        }
Posted
Updated 24-Feb-16 23:41pm
v4

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900