将JSON转换为XML格式 [英] Convert JSON to XML format
本文介绍了将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屋!
查看全文