Xml bulk Nodes appending issue

Francis115

New Member
I want to generate a million record xml file.For this i have a sample xml file with only one value set.Using this xml file fill ramdom values a million times.I created a solutin but it is very time consuming one.My code is\[code\]try { label1.Text = "File creation in progress ..."; Random rnd = new Random(); string sStartupPath = Application.StartupPath; string sName = ""; int flag = 0; XmlDocument XmlFile = new XmlDocument(); XmlFile.Load(sStartupPath + @"..\..\..\BankStatement.xml"); XmlFile.Save(@"C:\XmlData\Bank.xml"); XmlDocument XmlF = new XmlDocument(); XmlF.Load(@"C:\XmlData\Bank.xml"); long k = Convert.ToInt32(textBox1.Text); for (int j = 1; j < k; j++) { XmlTextReader objXmlTextReader = new XmlTextReader(sStartupPath + @"..\..\..\BankStatement.xml"); while (objXmlTextReader.Read()) { switch (objXmlTextReader.NodeType) { case XmlNodeType.Element: sName = objXmlTextReader.Name; if (sName == "DataXml") { if (flag == 0) flag = 1; } break; case XmlNodeType.Text: if (flag == 1) { XmlNodeList elemList = XmlFile.GetElementsByTagName(sName); for (int i = 0; i < elemList.Count; i++) { if (elemList.Name == "Name") elemList.InnerXml = generateNames(); else if (elemList.Name == "EmailID") elemList.InnerXml = generatemailids(); else elemList.InnerXml = rnd.Next(500000).ToString(); } } break; case XmlNodeType.EndElement: sName = objXmlTextReader.Name; if (sName == "DataXml") { if (flag == 1) flag = 0; } break; } } XmlDocument dd = new XmlDocument(); dd.LoadXml(XmlFile.InnerXml); XmlNodeList node=dd.GetElementsByTagName("Customers"); XmlDocumentFragment xfrag = XmlF.CreateDocumentFragment(); xfrag.RemoveAll(); for (int i = 0; i < 1; i++) { xfrag.InnerXml = node.InnerXml; XmlF.DocumentElement.FirstChild.AppendChild(xfrag); } XmlF.Save(@"C:\XmlData\Bank.xml"); } label1.Visible = false; MessageBox.Show("File creation success..!"); } catch (Exception ex) { label1.Text = ""; MessageBox.Show("Error Occured"); }\[/code\]Please give me a better solution.
 
Back
Top