将json转换为xml [英] conversion of json to xml

查看:91
本文介绍了将json转换为xml的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

aoa我在wcf webservice上创建了一个函数...我正在使用datalist在其中添加数据......但现在我想转换成asmx ...

它怎么能做asmx .....下面是我的代码

在json中我们使用数据列表但是在asmx ????

请告诉

aoa i had maked a function on wcf webservice... and i am using datalist to add data in it... but now i want to convert into asmx...
how it can be done asmx..... below is my code
in json we used data list but in asmx????
kindly do tell

public List<datalist6> gettrialsubleger(string baranchcode, string fromdate, string todate)
        {
            databaseops ops = new databaseops();
            DataTable rd1;
            DataTable rd2;
            DataTable rd3;
            DataTable rd4;
            DataTable final;
            bool level1, level2;
            level1 = level2 = true;
            decimal dr, cr, totalcr, totaldr, level1cr, level2cr, level3cr, level1dr, level2dr, level3dr;
            totalcr = totaldr = level1cr = level2cr = level3cr = level1dr = level2dr = level3dr = 0;
            rd1 = ops.getdata("select Acct_sub0,Acct_Desc from Gl_sub0 where Compcode='" + baranchcode + "'");
            List<datalist6> data = new List<datalist6>();
            if (rd1.Rows.Count > 0)
            {
                foreach (DataRow dr1 in rd1.Rows)
                {
                    //level1
                    rd2 = ops.getdata("select Acct_sub0+Acct_sub1 as Acct,Acct_Desc from Gl_sub1 where Compcode='" + baranchcode + "' and Acct_sub0='" + dr1[0].ToString() + "'");
                    if (rd2.Rows.Count > 0)
                    {
                        foreach (DataRow dr2 in rd2.Rows)
                        {
                            //level2
                            rd3 = ops.getdata("select Acct_sub1+Acct_sub2 as Acct,Acct_Desc from Gl_sub2 where Compcode='" + baranchcode + "' and Acct_Sub1='" + dr2[0] + "'");
                            if (rd3.Rows.Count > 0)
                            {
                                foreach (DataRow dr3 in rd3.Rows)
                                {
                                    //level3
                                    rd4 = ops.getdata("select AccountNo,Acct_Desc from GL_Detail where Compcode='" + baranchcode + "' and Acct_Sub='" + dr3[0] + "'");
                                    if (rd4.Rows.Count > 0)
                                    {
                                        foreach (DataRow dr4 in rd4.Rows)
                                        {
                                            //level4 
                                            final = ops.getdata("select  SUM(Dr_Amount) as d , sum(cr_amount) as c from gl_trans where Accountno='" + dr4[0] + "' and Value_Date between '" + fromdate + "' and '" + todate + "'");
                                            if (final.Rows.Count > 0)
                                            {
                                                if (!final.Rows[0].ItemArray[0].ToString().Equals(""))
                                                {
                                                    if (level1)
                                                    {
                                                        data.Add(new datalist6(dr1[0].ToString().Trim() + " - " + dr1[1].ToString().Trim(), "level1", "-", "-", "-", "-"));
                                                        level1 = false;
                                                    }
                                                    if (level2)
                                                    {
                                                        data.Add(new datalist6(dr2[0].ToString().Trim() + " - " + dr2[1].ToString().Trim(), "level2", "-", "-", "-", "-"));
                                                        level2 = false;
                                                    }

                                                    dr = decimal.Parse(final.Rows[0].ItemArray[0].ToString());
                                                    cr = decimal.Parse(final.Rows[0].ItemArray[1].ToString());
                                                    level1cr += cr;
                                                    level2cr += cr;
                                                    level3cr += cr;
                                                    level1dr += dr;
                                                    level2dr += dr;
                                                    level3dr += dr;
                                                    totalcr += cr;
                                                    totaldr += dr;
                                                }
                                            }
                                        }
                                    }
                                    if (level3dr > 0 || level3cr > 0)
                                    {
                                        data.Add(new datalist6(dr3[0].ToString() + " - " + dr3[1].ToString(), "-", ops.valuechecker(level3dr), ops.valuechecker(level3cr), ops.valueparser(level3dr - level3cr, false), ops.valueparser(level3dr - level3cr, false)));
                                        level3cr = 0;
                                        level3dr = 0;
                                    }
                                }
                            }
                            if (!level2)
                            {
                                level2 = true;
                                data.Add(new datalist6("Total for " + dr2[1].ToString(), "level2end", ops.valuechecker(level2dr), ops.valuechecker(level2cr), ops.valueparser(level2dr - level2cr, false), ops.valueparser(level2dr - level2cr, false)));
                                level2cr = 0;
                                level2dr = 0;
                            }
                        }
                    }
                    if (!level1)
                    {
                        level1 = true;
                        data.Add(new datalist6("Total for " + dr1[1].ToString(), "level1end", ops.valuechecker(level1dr), ops.valuechecker(level1cr), ops.valueparser(level1dr - level1cr, false), ops.valueparser(level1dr - level1cr, false)));
                        level1cr = 0;
                        level1dr = 0;
                    }
                }
            }
            if (totalcr > 0 || totaldr > 0)
            {
                data.Add(new datalist6("end", "Grand Total", ops.valuechecker(totaldr), ops.valuechecker(totalcr), "-", "-"));
                data.Add(new datalist6("end", "Balance", ops.valueparser(totaldr - totalcr, true), "-", "-", "-"));
            }
            return data;
        }

[DataContract]
   public class datalist4
   {
       [DataMember]
       public string val1 { get; set; }
       [DataMember]
       public string val2 { get; set; }
       [DataMember]
       public string val3 { get; set; }
       [DataMember]
       public string val4 { get; set; }
       public datalist4(string v1, string v2, string v3, string v4)
       {
           val1 = v1;
           val2 = v2;
           val3 = v3;
           val4 = v4;
       }
   }

推荐答案

1。将Newtonsoft.Json.dll添加到您的引用

2.使用Newtonsoft.Json添加命名空间;在你班上

3.拨打以下函数



1. Add Newtonsoft.Json.dll to your reference
2. Add the namespace using Newtonsoft.Json; in your class
3. Call the below function

public Xml GetXMLFromJson(string jsonObj)
   {
       try
       {
           var table = JsonConvert.DeserializeObject<Xml>(jsonObj);
           return table;
       }
       catch (Exception ex)
       {
           throw new ArgumentException(ex.Message);
       }



}



希望它工作正常。





参考:

在C#和VB.NET中将DataTable转换为JSON格式 [ ^ ]


这篇关于将json转换为xml的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆