我是靠谱客的博主 任性荔枝,最近开发中收集的这篇文章主要介绍C#中另辟蹊径解决JSON / XML互转的问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近在一个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;
}
}
View Code

测试效果:

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. 运行起来的效果

 8. 和Spider Studio采集以及相关脚本编写的其他文章:

C#代码获取或设置Iframe中的HTML

示例 - C#脚本代码采集搜狐NBA球员, 球队和比赛实况

C#中利用JQuery实现视频网站的缩略图采集

API - 使用Default对象 - 基础篇

示例 - 如何翻页

示例 - 向百度说 Hello world! 并获得回应.

Spider Studio 社区信息

 

转载于:https://www.cnblogs.com/iamzyf/p/3489859.html

最后

以上就是任性荔枝为你收集整理的C#中另辟蹊径解决JSON / XML互转的问题的全部内容,希望文章能够帮你解决C#中另辟蹊径解决JSON / XML互转的问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部