How to Upload and Split XML Files in C#

  1. if (Page.IsValid)  
  2. {  
  3.    // string fileName = fileupld.PostedFile.FileName;  
  4.    bool m_UpdateFlag;  
  5.    // int m_TotRec, m_AcceptRec, m_rejRec;  
  6.    m_UpdateFlag = false;  
  7.    if (fileupld.PostedFile.FileName == "" || fileupld.PostedFile.FileName == null)  
  8.    {  
  9.       ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "Information""alert('Please Select the XML file ');"true);  
  10.       fileupld.Focus();  
  11.       return;  
  12.    }  
  13.    if (File.Exists(Server.MapPath("~/source/") + System.IO.Path.GetFileName(fileupld.FileName)))  
  14.    //if (File.Exists(Server.MapPath(ConfigurationManager.AppSettings["source"].ToString() + fileupld.PostedFile.FileName)))  
  15.    {  
  16.       fileupld.SaveAs(Server.MapPath("~/ErrorLog/") + System.IO.Path.GetFileName(fileupld.FileName));  
  17.       // PanelError.Visible = true;  
  18.       lblMsg.Text = "This File <b>" + fileupld.PostedFile.FileName + "</b> already exists on the server.";  
  19.       return;  
  20.    }  
  21.    if (File.Exists(Server.MapPath("~/source/") + System.IO.Path.GetFileName(fileupld.FileName)))  
  22.    {  
  23.       File.Delete(Server.MapPath("~/source/") + System.IO.Path.GetFileName(fileupld.FileName));  
  24.    }  
  25.    fileupld.SaveAs(Server.MapPath("~/source/") + System.IO.Path.GetFileName(fileupld.FileName));  
  26.    string FileName = fileupld.FileName.ToString();  
  27.    FileName = FileName.Substring(0, 3); // FileType  
  28.    strACKFile = Path.GetFullPath(Server.MapPath("~/source/") + System.IO.Path.GetFileName(fileupld.FileName));  
  29.    if (strACKFile.Trim().Length == 0)  
  30.    {  
  31.       ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "Warning""alert('Please Select The XML File');"true);  
  32.       fileupld.Focus();  
  33.       return;  
  34.    }  
  35.    string xmlFilePath = Server.MapPath("~/source/") + System.IO.Path.GetFileName(fileupld.FileName);  
  36.    string source1 = System.IO.File.ReadAllText(xmlFilePath);  
  37.    string source = source1.Replace("\r\n"" ");  
  38.    //string source2 = source.Replace("\"INR\"", "'INR'");  
  39.    List<string> destList = new List<string>();  
  40.    foreach (Match match in Regex.Matches(source, "<GrpHdr>(.*?)</GrpHdr>"))  
  41.    destList.Add(match.Groups[1].Value);  
  42.    string GroupHeader = destList[0];  
  43.    GroupHeader = GroupHeader.Replace("\t""");  
  44.    GroupHeader = "<GrpHdr>" + GroupHeader + "</GrpHdr>"//GroupHeader  
  45.    List<string> AmtList = new List<string>();  
  46.    string amt = GroupHeader.Replace('"'' ');  
  47.    foreach (Match match in Regex.Matches(amt, "<TtlIntrBkSttlmAmt Ccy= INR >(.*?)</TtlIntrBkSttlmAmt>"))  
  48.    AmtList.Add(match.Groups[1].Value);  
  49.    string amtResult = AmtList[0]; //Amount  
  50.    List<string> NoOfTxsList = new List<string>();  
  51.    string TxsCount = GroupHeader.Replace('"'' ');  
  52.    foreach (Match match in Regex.Matches(amt, "<NbOfTxs>(.*?)</NbOfTxs>"))  
  53.    NoOfTxsList.Add(match.Groups[1].Value);  
  54.    string TxsCountResult = NoOfTxsList[0]; //txnNo  
  55.    // string grph = GroupHeader.Replace("'INR'", "INR");  
  56.    String strQ = "insert into EBT_master(TYPE,GroupOFHeader,Amount,TXN_NO)values('" + FileName + "','" + GroupHeader + "','" + amtResult + "','" + TxsCountResult + "')";  
  57. DbObj.gl_ExeNonQuery(strQ);