婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ASP.NET中XML轉JSON的方法實例

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

熱門標簽:征途美甲店地圖標注 百度地圖怎樣做地圖標注 浦發電話機器人提醒還款 柳州電銷機器人公司 電銷語音機器人型號參數 太原400電話上門辦理 騰訊地圖標注手機 昆明語音電銷機器人價格 400電話如何申請取消

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

一般在許多應用程序中都將數據存儲為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程序設計有所幫助。

您可能感興趣的文章:
  • xml轉json的js代碼
  • C# XML與Json之間相互轉換實例詳解
  • 對比分析json及XML
  • json跟xml的對比分析
  • JavaScript將XML轉成JSON的方法
  • JavaScript原生xmlHttp與jquery的ajax方法json數據格式實例
  • 如何在JS中實現相互轉換XML和JSON

標簽:白山 張家界 德陽 江蘇 蘭州 天門 新疆 陽泉

巨人網絡通訊聲明:本文標題《ASP.NET中XML轉JSON的方法實例》,本文關鍵詞  ASP.NET,中,XML,轉,JSON,的,方法,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET中XML轉JSON的方法實例》相關的同類信息!
  • 本頁收集關于ASP.NET中XML轉JSON的方法實例的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    成人免费毛片片v| 欧美成人一区二区| 欧美年轻男男videosbes| 美国欧美日韩国产在线播放| 亚洲色图19p| 久久欧美中文字幕| 欧美一区二区三区在线观看| 日本韩国欧美三级| av不卡免费电影| 成人手机在线视频| 黄色成人免费在线| 婷婷一区二区三区| 亚洲五月六月丁香激情| 自拍av一区二区三区| 久久亚洲二区三区| 精品国产一区a| 欧美成人一区二区三区在线观看| 欧美激情在线一区二区| 这里是久久伊人| 欧美军同video69gay| 欧美日产国产精品| 欧美久久久久久久久| 日本电影欧美片| 91成人看片片| 欧美色倩网站大全免费| 欧美巨大另类极品videosbest| 在线中文字幕一区| 欧美亚洲精品一区| 91麻豆精品久久久久蜜臀| 在线观看免费亚洲| 91精品国产综合久久蜜臀| 欧美va亚洲va| 国产精品污www在线观看| 国产精品久久久久久亚洲伦| 亚洲精品视频自拍| 五月婷婷另类国产| 久久成人18免费观看| 黑人巨大精品欧美一区| 国产一区二区三区免费看| 懂色av一区二区夜夜嗨| 97超碰欧美中文字幕| 在线观看日韩一区| 欧美精品丝袜中出| 久久综合久色欧美综合狠狠| 久久久久久综合| 最新日韩av在线| 亚洲电影在线免费观看| 久久精品国产精品亚洲精品| 成人性视频网站| 欧美日韩视频在线一区二区| 精品电影一区二区三区| 天天操天天干天天综合网| 亚洲色图一区二区三区| 久88久久88久久久| 欧美午夜电影在线播放| 伊人一区二区三区| 成人免费视频一区二区| 99re66热这里只有精品3直播 | 日韩午夜激情av| 精品国产精品一区二区夜夜嗨| 国产欧美中文在线| 三级在线观看一区二区| 懂色av中文一区二区三区| 色综合久久久网| 欧美理论片在线| 青草国产精品久久久久久| 国产精品乱码一区二区三区软件 | 亚洲成人777| 久久精品国产精品亚洲精品| 国产欧美一区视频| 成人av电影免费观看| 视频一区二区三区在线| 一区二区三区中文字幕| 2欧美一区二区三区在线观看视频| 国产精品一区二区久久精品爱涩| 亚洲成a人片综合在线| 国产日产欧美精品一区二区三区| 狠狠网亚洲精品| 六月丁香婷婷色狠狠久久| 亚洲超丰满肉感bbw| 免费精品视频在线| 日韩欧美精品在线| 一区二区三区中文字幕| 国产aⅴ综合色| 久久五月婷婷丁香社区| 日本va欧美va精品发布| 欧美视频一区二区三区在线观看| 国产精品热久久久久夜色精品三区| 奇米888四色在线精品| 精品1区2区3区| 18成人在线观看| 国产激情91久久精品导航| 久久影音资源网| 久久精工是国产品牌吗| 91精品国产乱| 五月激情综合网| 欧美日韩精品电影| 亚洲国产一区二区a毛片| 欧美色综合网站| 亚洲激情六月丁香| 色老综合老女人久久久| 玉米视频成人免费看| 欧美在线色视频| 亚洲va欧美va天堂v国产综合| 色婷婷久久综合| 亚洲黄色在线视频| 6080日韩午夜伦伦午夜伦| 蜜臀av性久久久久蜜臀aⅴ四虎 | 亚洲成人激情综合网| 色噜噜狠狠色综合中国| 亚洲精品videosex极品| 色哟哟在线观看一区二区三区| 亚洲免费av高清| 欧美精品在线观看一区二区| 麻豆成人av在线| 久久久噜噜噜久噜久久综合| 成人av电影免费观看| 亚洲午夜久久久| 日韩视频一区二区三区| 国产精品1区2区| 亚洲视频在线一区二区| 在线欧美日韩国产| 日韩精品午夜视频| 久久九九久精品国产免费直播| 国产91丝袜在线播放| 亚洲天堂2016| 欧美一区二区三区日韩视频| 国产麻豆欧美日韩一区| 亚洲欧美日韩国产手机在线| 欧美日韩aaaaaa| 国产麻豆9l精品三级站| 亚洲美女屁股眼交3| 日韩丝袜美女视频| 91一区二区三区在线播放| 亚洲动漫第一页| 久久精品人人爽人人爽| 色天天综合久久久久综合片| 亚洲国产日韩精品| www欧美成人18+| 91丨九色丨国产丨porny| 奇米影视一区二区三区| 亚洲欧洲性图库| 精品毛片乱码1区2区3区| 99久久久国产精品免费蜜臀| 男女男精品网站| 一区二区高清在线| 国产亚洲欧美色| 97久久人人超碰| 高清在线观看日韩| 九色porny丨国产精品| 亚洲国产cao| 中文字幕在线一区| 日韩精品一区二区三区老鸭窝| 色琪琪一区二区三区亚洲区| 国产成人精品1024| 久久精品二区亚洲w码| 亚洲成在人线免费| 自拍偷拍国产亚洲| 久久这里只精品最新地址| 精品成人免费观看| 久久精品理论片| 日韩一区二区三区三四区视频在线观看 | 亚洲欧美精品午睡沙发| 丁香六月综合激情| 国产精品短视频| 欧美一区二区高清| 国产在线国偷精品免费看| 亚洲三级在线免费观看| 欧美一区二区在线免费播放| 国产一二精品视频| 亚洲国产精品久久久久婷婷884| 国产精品理论在线观看| 成人在线视频一区| 午夜欧美视频在线观看| 欧美日韩电影一区| 国产精品美女久久久久aⅴ| 国产精品一区三区| 精品国产免费一区二区三区香蕉 | 国产福利一区二区三区| 欧美aaaaaa午夜精品| 天天色综合天天| 日本成人在线不卡视频| 亚洲成人精品在线观看| 午夜激情久久久| 青娱乐精品在线视频| 免费观看成人av| 久久精品国产免费| 欧美日韩一区小说| 国产一区二三区| 青娱乐精品视频| 一区二区三区中文字幕电影| 中文字幕第一区二区| 久久免费精品国产久精品久久久久 | 亚洲色图视频网站| 精品入口麻豆88视频| 欧美主播一区二区三区| 欧美日韩精品一区二区三区| 在线视频国内一区二区| 一本一道久久a久久精品| 久久影院午夜论|