国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - ASP.NET中XML轉JSON的方法實例

ASP.NET中XML轉JSON的方法實例

2019-12-09 13:33shichen2014 ASP.NET教程

這篇文章主要介紹了ASP.NET中XML轉JSON的方法,實例講述了XML轉json的原理與實現過程,具有一定的實用價值,需要的朋友可以參考下

本文實例講述了ASP.NETXMLJSON的方法,分享給大家供大家參考。具體如下:

一般在許多應用程序中都將數據存儲為XML的格式,而且會將數據以JSON的格式發送到客戶端以做進一步處理。要實現這一點,它們必須將XML格式轉換為JSON格式。

XML轉JSON代碼如下:

 

復制代碼代碼如下:
private static string XmlToJSON(XmlDocument xmlDoc)  
{  
    StringBuilder sbJSON = new StringBuilder();  
    sbJSON.Append("{ ");  
    XmlToJSONnode(sbJSON, xmlDoc.DocumentElement, true);  
    sbJSON.Append("}");  
    return sbJSON.ToString();  
}  
  
//  XmlToJSONnode:  Output an XmlElement, possibly as part of a higher array  
private static void XmlToJSONnode(StringBuilder sbJSON, XmlElement node, bool showNodeName)  
{  
    if (showNodeName)  
        sbJSON.Append("\\"" + SafeJSON(node.Name) + "\\": ");  
    sbJSON.Append("{");  
    // Build a sorted list of key-value pairs  
    //  where   key is case-sensitive nodeName  
    //          value is an ArrayList of string or XmlElement  
    //  so that we know whether the nodeName is an array or not.  
    SortedList childNodeNames = new SortedList();  
  
    //  Add in all node attributes  
    if( node.Attributes!=null)  
        foreach (XmlAttribute attr in node.Attributes)  
            StoreChildNode(childNodeNames,attr.Name,attr.InnerText);  
  
    //  Add in all nodes  
    foreach (XmlNode cnode in node.ChildNodes)  
    {  
        if (cnode is XmlText)  
            StoreChildNode(childNodeNames, "value", cnode.InnerText);  
        else if (cnode is XmlElement)  
            StoreChildNode(childNodeNames, cnode.Name, cnode);  
    }  
  
    // Now output all stored info  
    foreach (string childname in childNodeNames.Keys)  
    {  
        ArrayList alChild = (ArrayList)childNodeNames[childname];  
        if (alChild.Count == 1)  
            OutputNode(childname, alChild[0], sbJSON, true);  
        else  
        {  
            sbJSON.Append(" \\"" + SafeJSON(childname) + "\\": [ ");  
            foreach (object Child in alChild)  
                OutputNode(childname, Child, sbJSON, false);  
            sbJSON.Remove(sbJSON.Length - 2, 2);  
            sbJSON.Append(" ], ");  
        }  
    }  
    sbJSON.Remove(sbJSON.Length - 2, 2);  
    sbJSON.Append(" }");  
}  
  
//  StoreChildNode: Store data associated with each nodeName  
//                  so that we know whether the nodeName is an array or not.  
private static void StoreChildNode(SortedList childNodeNames, string nodeName, object nodeValue)  
{  
    // Pre-process contraction of XmlElement-s  
    if (nodeValue is XmlElement)  
    {  
        // Convert  <aa></aa> into "aa":null  
        //          <aa>xx</aa> into "aa":"xx"  
        XmlNode cnode = (XmlNode)nodeValue;  
        if( cnode.Attributes.Count == 0)  
        {  
            XmlNodeList children = cnode.ChildNodes;  
            if( children.Count==0)  
                nodeValue = null;  
            else if (children.Count == 1 && (children[0] is XmlText))  
                nodeValue = ((XmlText)(children[0])).InnerText;  
        }  
    }  
    // Add nodeValue to ArrayList associated with each nodeName  
    // If nodeName doesn't exist then add it  
    object oValuesAL = childNodeNames[nodeName];  
    ArrayList ValuesAL;  
    if (oValuesAL == null)  
    {  
        ValuesAL = new ArrayList();  
        childNodeNames[nodeName] = ValuesAL;  
    }  
    else  
        ValuesAL = (ArrayList)oValuesAL;  
    ValuesAL.Add(nodeValue);  
}  
  
private static void OutputNode(string childname, object alChild, StringBuilder sbJSON, bool showNodeName)  
{  
    if (alChild == null)  
    {  
        if (showNodeName)  
            sbJSON.Append("\\"" + SafeJSON(childname) + "\\": ");  
        sbJSON.Append("null");  
    }  
    else if (alChild is string)  
    {  
        if (showNodeName)  
            sbJSON.Append("\\"" + SafeJSON(childname) + "\\": ");  
        string sChild = (string)alChild;  
        sChild = sChild.Trim();  
        sbJSON.Append("\\"" + SafeJSON(sChild) + "\\"");  
    }  
    else  
        XmlToJSONnode(sbJSON, (XmlElement)alChild, showNodeName);  
    sbJSON.Append(", ");  
}  
  
// Make a string safe for JSON  
private static string SafeJSON(string sIn)  
{  
    StringBuilder sbOut = new StringBuilder(sIn.Length);  
    foreach (char ch in sIn)  
    {  
        if (Char.IsControl(ch) || ch == '\\'')  
        {  
            int ich = (int)ch;  
            sbOut.Append(@"\\u" + ich.ToString("x4"));  
            continue;  
        }  
        else if (ch == '\\"' || ch == '\\\\' || ch == '/')  
        {  
            sbOut.Append('\\\\');  
        }  
        sbOut.Append(ch);  
    }  
    return sbOut.ToString();  
}

 

希望本文所述對大家的asp.net程序設計有所幫助。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 久久久www免费人成精品 | 一级毛片免费看 | 91精品国产九九九久久久亚洲 | 骚视频网站 | 特黄特色大片免费视频观看 | 久久精品国产99国产 | 国产福利电影在线观看 | 人人人人澡 | 久久中文字幕在线 | 午夜在线小视频 | 国产精品免费观看 | 色播一区二区 | 日韩欧美专区 | 午夜精品视频 | 亚洲天堂中文字幕在线观看 | 国产一区二区三区 | 精品一区二区三区免费 | 国产精品自产拍在线观看 | av免费黄色| 精品无人乱码一区二区三区的优势 | 精品一区二区三区免费视频 | 日本少妇bbbb爽爽bbb美 | 国产精品国产 | 免费三级在线 | 欧美日韩国产一区二区三区 | 久久国产免费 | 日日夜夜精品免费视频 | 久久国产综合 | 国产精品久久久久久久久 | 精品国偷自产国产一区 | 亚洲一区二区国产 | 国产乱码精品一区二区三区五月婷 | 久久影视精品 | 一本久道久久综合狠狠爱 | 北条麻妃一区二区三区在线观看 | 免费av大全 | 亚洲精品久久久久久一区二区 | 久久人人爽人人爽 | 国产精品美女久久久久久免费 | 日韩一区二区福利 | 成人高清视频在线观看 |