• JSON转XML


    public static XmlDocument Json2Xml(string sJson)
    {
    //XmlDictionaryReader reader = JsonReaderWriterFactory.CreateJsonReader(Encoding.UTF8.GetBytes(sJson), XmlDictionaryReaderQuotas.Max);
    //XmlDocument doc = new XmlDocument();
    //doc.Load(reader);

    JavaScriptSerializer oSerializer = new JavaScriptSerializer();
    Dictionary<string, object> Dic = (Dictionary<string, object>)oSerializer.DeserializeObject(sJson);
    XmlDocument doc = new XmlDocument();
    XmlDeclaration xmlDec;
    xmlDec = doc.CreateXmlDeclaration("1.0", "gb2312", "yes");
    doc.InsertBefore(xmlDec, doc.DocumentElement);
    XmlElement nRoot = doc.CreateElement("root");
    doc.AppendChild(nRoot);
    foreach (KeyValuePair<string, object> item in Dic)
    {
    XmlElement element = doc.CreateElement(item.Key);
    KeyValue2Xml(element, item);
    nRoot.AppendChild(element);
    }
    return doc;
    }

    private static void KeyValue2Xml(XmlElement node, KeyValuePair<string, object> Source)
    {
    object kValue = Source.Value;
    if (kValue.GetType() == typeof(Dictionary<string, object>))
    {
    foreach (KeyValuePair<string, object> item in kValue as Dictionary<string, object>)
    {
    XmlElement element = node.OwnerDocument.CreateElement(item.Key);
    KeyValue2Xml(element, item);
    node.AppendChild(element);
    }
    }
    else if (kValue.GetType() == typeof(object[]))
    {
    object[] o = kValue as object[];
    for (int i = 0; i < o.Length; i++)
    {
    XmlElement xitem = node.OwnerDocument.CreateElement("Item");
    KeyValuePair<string, object> item = new KeyValuePair<string, object>("Item", o[i]);
    KeyValue2Xml(xitem, item);
    node.AppendChild(xitem);
    }

    }
    else
    {
    XmlText text = node.OwnerDocument.CreateTextNode(kValue.ToString());
    node.AppendChild(text);
    }
    }

  • 相关阅读:
    zookeeper curator ( 实战一)
    【转】HDMI之TMDS信号
    【转】LVDS基础、原理、图文讲解
    【原】HDMI输出接口传输速率计算
    【转】 HDMI介绍与流程
    【转】 glibc detected *** corrupted double-linked list:错误的原因有如下三种可能
    【转】 ISP-镜头阴影校正(LSC)
    【转】 ISP-黑电平校正(BLC)
    【转】 ISP概述、工作原理及架构
    【转】 VGA时序及其原理
  • 原文地址:https://www.cnblogs.com/xiguanjiandan/p/2729516.html
Copyright © 2020-2023  润新知