将JSON转换为XML格式 [英] Convert JSON to XML format

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

问题描述

亲爱的朋友

i有一些json格式的值,我想以xml格式转换它和

将它导入我的数据库

我的json如下: -

Dear friends
i have some values in json format and i want to convert it in xml format and
import it into my database
my json is as under:-

{"Header":{"Time":"2015-03-12T03:02:05-07:00","ReportName":"TrialBalance","ReportBasis":"Accrual","StartPeriod":"2015-03-12","EndPeriod":"2015-03-12","Currency":"INR","Option":[{"Name":"NoReportData","Value":"false"}]},"Columns":{"Column":[{"ColTitle":"","ColType":"Account"},{"ColTitle":"Debit","ColType":"Money"},{"ColTitle":"Credit","ColType":"Money"}]},"Rows":{"Row":[{"ColData":[{"value":"Punjab national bank","id":"57"},{"value":"503300.00"},{"value":""}]},{"ColData":[{"value":"Accounts Receivable (Debtors)","id":"63"},{"value":"0.00"},{"value":""}]},{"ColData":[{"value":"Accounts Payable (Creditors)","id":"62"},{"value":""},{"value":"100.00"}]},{"ColData":[{"value":"standard chartered cc","id":"69"},{"value":""},{"value":"0.00"}]},{"ColData":[{"value":"Opening Balance Equity","id":"56"},{"value":""},{"value":"500000.00"}]},{"ColData":[{"value":"Accounting Services Income","id":"10"},{"value":""},{"value":"4000.00"}]},{"ColData":[{"value":"Bookkeeping Services Income","id":"13"},{"value":""},{"value":"1800.00"}]},{"ColData":[{"value":"Contracted Services","id":"19"},{"value":"1600.00"},{"value":""}]},{"ColData":[{"value":"Dues and Subscriptions","id":"21"},{"value":"1000.00"},{"value":""}]},{"Summary":{"ColData":[{"value":"TOTAL"},{"value":"505900.00"},{"value":"505900.00"}]},"type":"Section","group":"GrandTotal"}]}}





iam使用以下C#函数来c将json转换为xml,但它没有转换它

格式正确请帮我找出我丢失的内容?





iam using following C# function to convert json to xml but it is not converting it
in proper format please help me to find out what iam missing ?

public static XmlDocument JsonToXml(string json)
       {
           XmlNode newNode = null;
           XmlNode appendToNode = null;
           XmlDocument returnXmlDoc = new XmlDocument();
           returnXmlDoc.LoadXml("<Document />");
           XmlNode rootNode = returnXmlDoc.SelectSingleNode("Document");
           appendToNode = rootNode;

           string[] arrElementData;
           string str = json;
           str = str.Replace("{", "{\r");
           str = str.Replace("[", "[\r");
           str = str.Replace("}", "\r}\r");
           str = str.Replace(",", ",\r");
           str = str.Replace("]", "\r]\r");

           string[] arrElements = str.Split('\r');
           foreach (string element in arrElements)
           {
               string processElement = element.Replace("\r", "").Replace("\n", "").Replace("\t", "").Trim();
               if ((processElement.IndexOf("}") > -1 || processElement.IndexOf("]") > -1) &&
                   appendToNode != rootNode)
               {
                   appendToNode = appendToNode.ParentNode;
               }
               else if (processElement.IndexOf("[") > -1)
               {
                   processElement = processElement.Replace(":", "").Replace("[", "").Replace("\"", "").Trim();
                   newNode = returnXmlDoc.CreateElement(processElement);
                   appendToNode.AppendChild(newNode);
                   appendToNode = newNode;
               }
               else if (processElement.IndexOf("{") > -1 && processElement.IndexOf(":") > -1)
               {
                   processElement = processElement.Replace(":", "").Replace("{", "").Replace("\"", "").Trim();
                   newNode = returnXmlDoc.CreateElement(processElement);
                   appendToNode.AppendChild(newNode);
                   appendToNode = newNode;
               }
               else
               {
                   if (processElement.IndexOf(":") > -1)
                   {
                       arrElementData = processElement.Replace(": \"", ":").Replace("\",", "").Replace("\"", "").Split(':');
                       newNode = returnXmlDoc.CreateElement(arrElementData[0]);
                       for (int i = 1; i < arrElementData.Length; i++)
                       { newNode.InnerText += arrElementData[i]; }
                       appendToNode.AppendChild(newNode);
                   }
               }
           }

           return returnXmlDoc;
       }



函数未返回正确的XML格式


the function is not returning a proper XML Format

推荐答案

使用此链接进行在线转换: http://www.freeformatter.com/json-to -xml-converter.html #ad-output [ ^ ]



用于程序化转换



http://www.newtonsoft.com/json/help/html/ConvertingJSONandXML.htm [ ^ ]
use this link for online conversion: http://www.freeformatter.com/json-to-xml-converter.html#ad-output[^]

for programmatic conversion

http://www.newtonsoft.com/json/help/html/ConvertingJSONandXML.htm[^]


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

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