Sunday, 28 December 2014

How to make XML file and save it?

protected void btngeneratexml_Click(object sender, EventArgs e)
    {
        try
        {
            int Encounter;
            if (GridView1.Rows.Count != 0)
            {
                StringBuilder strBuilder = new StringBuilder();
                DataSet ds = new DataSet();
                Label Lbl_InsCompIDVal = (Label)GridView1.Rows[0].FindControl("Lbl_InsCompID");
                Label Lbl_lbXMLInsurerComID = (Label)GridView1.Rows[0].FindControl("lbXMLInsurerComID");
                Label Lbl_lblInsCompName = (Label)GridView1.Rows[0].FindControl("Lbl_Salary");
                Label Lbl_TPAName1 = (Label)GridView1.Rows[0].FindControl("Lbl_TPAName1");
                PrefiXmlName = PrefiXmlName + Lbl_lblInsCompName.Text.Substring(0, 3);
                if (Lbl_lbXMLInsurerComID.Text != "0")
                {
                    HdnInsComID.Value = Lbl_lbXMLInsurerComID.Text;
                }
                else
                {
                    HdnInsComID.Value = Lbl_InsCompIDVal.Text;
                }
                xmlFileName = BatchText.ToString() + "_" + DateTime.Now.ToString("dd-MMM-yyyy");
                xmlFileName = PrefiXmlName + xmlFileName + ".xml";              
                char rowSep = ',';
                string strBillNumber = getEncounter();
                string[] Text = strBillNumber.Split(rowSep);
                Encounter = Text.Length;
                if (Text.Length > 0)
                {
                    string xmlpath = Server.MapPath("~/" + "EClaim_XML" + "/" + xmlFileName);
                    //clsObjGenerateClaim.insert_record(clsObjCommon.GetDateForDB(txtFromDate.Text), clsObjCommon.GetDateForDB(txtToDate.Text), txtID.Text, txtPlan.Text, txtClaimName.Text, xmlFileName, Encounter, Convert.ToString(Session["GetProviderID"]), Convert.ToInt16(Session["UserID"]), Convert.ToInt16(Session["UserID"]), "INSERT");
                    clsObjGenerateClaim.insert_record(clsObjCommon.GetDateForDB(txtFromDate.Text), clsObjCommon.GetDateForDB(txtToDate.Text), Ddl_AgencyName.SelectedValue.ToString().TrimEnd(), "TestPlan", "Test", xmlFileName, Encounter, Convert.ToString(Session["GetProviderID"]), Convert.ToInt16(Session["UserID"]), Convert.ToInt16(Session["UserID"]), "INSERT", xmlpath);
                    strBuilder.Append("<?xml version='1.0' encoding='utf-8' ?>");
                   strBuilder.Append("<Claim.Submission xmlns:tns=\"xxxxxxxxxxxxx">".ToString());
                 
                    strBuilder.Append("<Header>");
                    strBuilder.Append("<SenderID>" + lblProviderID.Text + "</SenderID>");
                    //strBuilder.Append("<ReceiverID>" + txtID.Text.TrimEnd() + "</ReceiverID>");
                    strBuilder.Append("<ReceiverID>" + HdnInsComID.Value + "</ReceiverID>");
                    strBuilder.Append("<TransactionDate>" + DateTime.Now.ToString("dd/MM/yyyy") + " " + DateTime.Now.ToString("H:mm") + "</TransactionDate>");
                    strBuilder.Append("<RecordCount>" + count.ToString() + "</RecordCount>");
                    strBuilder.Append("<DispositionFlag>" + Convert.ToString(ddlDispositionFlag.SelectedItem.Text.Trim()) + "</DispositionFlag>");
                    strBuilder.Append("</Header>");
                    for (int cont = 0; cont < Text.Length; cont++)
                    {
                        ds = clsObjGenerateClaim.GenerateXML(Text[cont].ToString(), "TESTCLAIM");
                        for (int a = 0; a < ds.Tables[0].Rows.Count; a++)
                        {
                            string str = "";
                            str = ds.Tables[0].Rows[a]["xmlValue"].ToString();
                            str = str.Replace("<Clinician/>", "<Clinician></Clinician>");
                            str = str.Replace("<Clinician />", "<Clinician></Clinician>");
                            str = str.Replace("<PriorAuthorizationID/>", "<PriorAuthorizationID></PriorAuthorizationID>");
                            str = str.Replace("<PriorAuthorizationID />", "<PriorAuthorizationID></PriorAuthorizationID>");
                            str = str.Replace("<PackageName/>", "<PackageName></PackageName>");
                            str = str.Replace("<PackageName />", "<PackageName></PackageName>");
                            strBuilder.Append(str);
                            //strBuilder.Append(ds.Tables[0].Rows[a]["xmlValue"].ToString());
                        }
                        ds.Dispose();
                    }
                   
                    strBuilder.Append("</Claim.Submission>");
                    FileStream fStream = File.Create(Server.MapPath("~/" + "EClaim_XML" + "/" + xmlFileName));                  
                    fStream.Close();
                    StreamWriter sWriter = new StreamWriter(Server.MapPath("~/" + "EClaim_XML" + "/" + xmlFileName));
                    sWriter.Write(strBuilder);
                    sWriter.Close();
                }
            }
           
       }
        catch (Exception ex)
        { }
    }

No comments: