校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁(yè) > 知識(shí)庫(kù) > ASP.NET中XML轉(zhuǎn)JSON的方法實(shí)例

ASP.NET中XML轉(zhuǎn)JSON的方法實(shí)例

熱門(mén)標(biāo)簽:征途美甲店地圖標(biāo)注 百度地圖怎樣做地圖標(biāo)注 浦發(fā)電話(huà)機(jī)器人提醒還款 柳州電銷(xiāo)機(jī)器人公司 電銷(xiāo)語(yǔ)音機(jī)器人型號(hào)參數(shù) 太原400電話(huà)上門(mén)辦理 騰訊地圖標(biāo)注手機(jī) 昆明語(yǔ)音電銷(xiāo)機(jī)器人價(jià)格 400電話(huà)如何申請(qǐng)取消

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

一般在許多應(yīng)用程序中都將數(shù)據(jù)存儲(chǔ)為XML的格式,而且會(huì)將數(shù)據(jù)以JSON的格式發(fā)送到客戶(hù)端以做進(jìn)一步處理。要實(shí)現(xiàn)這一點(diǎn),它們必須將XML格式轉(zhuǎn)換為JSON格式。

XML轉(zhuǎn)JSON代碼如下:

復(fù)制代碼 代碼如下:
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(); 
}

希望本文所述對(duì)大家的asp.net程序設(shè)計(jì)有所幫助。

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

標(biāo)簽:白山 張家界 德陽(yáng) 江蘇 蘭州 天門(mén) 新疆 陽(yáng)泉

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET中XML轉(zhuǎn)JSON的方法實(shí)例》,本文關(guān)鍵詞  ASP.NET,中,XML,轉(zhuǎn),JSON,的,方法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET中XML轉(zhuǎn)JSON的方法實(shí)例》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于ASP.NET中XML轉(zhuǎn)JSON的方法實(shí)例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产成人av自拍| 欧美主播一区二区三区| 亚洲精品视频自拍| 精品国产亚洲在线| 91精品1区2区| 国产成人免费视频一区| 日韩电影免费在线观看网站| 国产精品入口麻豆原神| 91精品在线一区二区| 97久久精品人人做人人爽50路| 麻豆一区二区三区| 亚洲综合丝袜美腿| 中文字幕亚洲在| 久久久久久久久久美女| 69久久夜色精品国产69蝌蚪网| www.亚洲免费av| 国产白丝网站精品污在线入口| 男人的天堂亚洲一区| 伊人一区二区三区| 中文字幕一区视频| 久久久久久亚洲综合影院红桃| 欧美日韩久久一区| 日本福利一区二区| 成人精品免费网站| 国产传媒一区在线| 国产真实乱偷精品视频免| 日韩av电影天堂| 亚洲国产综合人成综合网站| 亚洲色图视频网站| 国产精品久线在线观看| 国产性做久久久久久| 国产亚洲欧洲997久久综合| 精品少妇一区二区| 日韩一区二区电影网| 欧美一级片在线观看| 欧美三级一区二区| 欧美在线不卡一区| 在线视频观看一区| 欧美在线观看一区| 欧美日韩精品系列| 91精品国产91久久久久久一区二区 | 中文字幕亚洲在| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 亚洲私人黄色宅男| 自拍偷自拍亚洲精品播放| 亚洲视频免费观看| 亚洲一区在线观看免费观看电影高清| 亚洲精品视频在线看| 亚洲影院在线观看| 天天综合网 天天综合色| 丝袜美腿高跟呻吟高潮一区| 美女任你摸久久| 国产高清视频一区| jizz一区二区| 欧美三级资源在线| 欧美成人在线直播| 久久久777精品电影网影网 | 色天使色偷偷av一区二区| 色婷婷综合久久| 欧美高清视频一二三区| 精品久久久久久久久久久久久久久| 久久午夜老司机| 亚洲图片你懂的| 五月激情综合色| 韩国av一区二区三区四区| 不卡的av电影在线观看| 欧美日韩中文一区| 欧美va亚洲va国产综合| 国产精品无人区| 亚洲va欧美va天堂v国产综合| 麻豆国产91在线播放| 丁香桃色午夜亚洲一区二区三区| 91麻豆免费在线观看| 欧美高清你懂得| 精品国产免费一区二区三区香蕉| 中文字幕在线免费不卡| 水野朝阳av一区二区三区| 国产精品小仙女| 欧美特级限制片免费在线观看| 日韩精品中文字幕一区| 亚洲欧美日韩中文播放| 奇米综合一区二区三区精品视频| 成人理论电影网| 欧美电影一区二区| 中文字幕一区二区在线观看| 青椒成人免费视频| 99视频精品在线| 日韩欧美不卡一区| 亚洲人成网站影音先锋播放| 美女www一区二区| 一本到不卡精品视频在线观看| 日韩欧美色综合| 亚洲你懂的在线视频| 精彩视频一区二区| 在线观看免费亚洲| 国产三级欧美三级日产三级99| 亚洲h动漫在线| 99精品国产99久久久久久白柏| 日韩一区二区三区精品视频| 亚洲色图视频网| 国产寡妇亲子伦一区二区| 91精品国产综合久久精品| 国产精品成人一区二区三区夜夜夜| 免费在线观看一区| 欧美无砖专区一中文字| 国产精品国产三级国产专播品爱网| 免费成人小视频| 欧美老肥妇做.爰bbww| 最新中文字幕一区二区三区 | 日韩成人免费电影| 色婷婷国产精品| 国产精品成人午夜| 高清beeg欧美| 久久久99久久精品欧美| 麻豆国产精品777777在线| 欧美在线视频你懂得| 日韩毛片视频在线看| 不卡av在线网| 国产精品女同一区二区三区| 国产精品一区二区在线看| 日韩免费观看高清完整版在线观看| 亚洲激情在线播放| 99re热这里只有精品免费视频| 国产欧美日韩精品在线| 国产美女在线观看一区| 精品国产一区二区精华| 激情成人综合网| 欧美成人vr18sexvr| 日韩激情一二三区| 欧美人妇做爰xxxⅹ性高电影| 亚洲精品国产a久久久久久| 91美女精品福利| 亚洲综合在线免费观看| 在线观看视频一区二区| 亚洲一区二区高清| 欧美日韩免费一区二区三区| 亚洲va韩国va欧美va| 91精品麻豆日日躁夜夜躁| 日韩高清在线一区| 日韩精品一区二区三区中文精品| 奇米影视一区二区三区| 精品国产制服丝袜高跟| 国产福利一区二区三区视频在线 | www欧美成人18+| 国产综合久久久久久鬼色| 精品国一区二区三区| 国产毛片精品国产一区二区三区| 久久嫩草精品久久久久| 懂色中文一区二区在线播放| 国产精品久久久久婷婷二区次| 91色综合久久久久婷婷| 亚洲精品国久久99热| 欧美日韩国产在线观看| 美女诱惑一区二区| 国产三级欧美三级| 91女神在线视频| 亚洲二区在线观看| 日韩一区二区在线观看| 国产麻豆成人精品| 1000部国产精品成人观看| 欧美日韩高清一区二区三区| 久久精品国内一区二区三区| 国产调教视频一区| 91传媒视频在线播放| 老司机一区二区| 一区免费观看视频| 欧美二区三区的天堂| 国产精品18久久久久久久久| 一区二区在线观看视频| 欧美一个色资源| 99久久精品免费看国产 | 亚洲一二三四久久| 日韩欧美视频在线| 91影视在线播放| 日韩av不卡在线观看| 国产精品久久免费看| 欧美挠脚心视频网站| 国产成人丝袜美腿| 亚洲一区欧美一区| 国产亚洲精品7777| 欧美日韩在线精品一区二区三区激情 | 99在线精品视频| 免费在线观看不卡| 亚洲三级在线播放| 欧美一二区视频| 色婷婷综合久久| 国产成人在线观看免费网站| 亚洲第一激情av| 国产精品久久精品日日| 日韩一本二本av| 91视频精品在这里| 国产精品一区二区三区99| 亚洲妇熟xx妇色黄| 国产精品国产三级国产三级人妇 | 麻豆国产精品视频| 一区二区在线观看视频| 久久久国际精品| 日韩精品影音先锋| 欧美三区在线观看| 99r精品视频|