程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#中如何解決JSON / XML互轉的問題

C#中如何解決JSON / XML互轉的問題

編輯:關於C#

最近在一個POC的項目中要用到JSON和XML的相互轉換, 雖然我知道很多類庫如JSON.NET具備這種功 能, 但是我還是另辟蹊徑的使用Spider Studio結合一個在線工具網站快速實現了這個功能.

在線工具網站: http://www.utilities-online.info/xmltojson

必備工具: Spider Studio (采集工作站): http://www.gdtsearch.com/products.spiderstudio.htm

1. 打開Spider Studio, 加載頁面 http://www.utilities-online.info/xmltojson/

2. 通過選擇頁面元素功能找到xml和json兩個輸入框以及兩個相互轉換的按鈕, 他們的ID分別為: #json, #xml, #tojson, #toxml.

3. 編寫腳本自動完成頁面操作:

public void Run()
{
    Logger.ClearAll();
    Logger.Log(Xml2Json("<person><name>Mike</name><age>30</age></person>"));
    Logger.Log(Json2Xml("{'person':{'name':'Mike', 'age':30}}"));
}
    
public string Xml2Json(string xml)
{
    lock(this)
    {
        Default.Navigate("http://www.utilities-online.info/xmltojson");
        Default.Ready();
        Default.SelectSingleNode("#xml").Text(xml);
        Default.SelectSingleNode("#tojson").Click();
        var json = Default.SelectSingleNode("#json").Text();
        return json;
    }
}
    
public string Json2Xml(string json)
{
    lock(this)
    {
        Default.Navigate("http://www.utilities-online.info/xmltojson");
        Default.Ready();
        Default.SelectSingleNode("#json").Text(json);
        Default.SelectSingleNode("#toxml").Click();
        var xml = Default.SelectSingleNode("#xml").Text();
        return xml;
    }
}

測試效果:

4. 通過一點小技巧提高性能

經過觀察發現這個網站打開比較慢, 但是一旦打開之後, 處理轉換還是挺快的. 因此我決定只在最 開始打開一次, 之後直接調用轉換功能就成了.

將代碼

Default.Navigate("http://www.utilities-online.info/xmltojson");
Default.Ready();

改成

if(Default.Url.ToString() != "http://www.utilities-online.info/xmltojson/")
{
   Default.Navigate("http://www.utilities-online.info/xmltojson");
   Default.Ready();
}

即可, 測試發現原來需要4s的加載過程現在秒出了 :)

5. 將腳本編譯成DLL

6. 創建WinForm程序, 引入DLL

7. 運行起來的效果

查看本欄目

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved