using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml; namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(getWeather());
Response.End();
}
public string getWeather()
{
string weatherXML = GetRequestData("http://flash.weather.com.cn/wmaps/xml/beijing.xml");
XmlDocument xml = new XmlDocument();
xml.LoadXml(weatherXML);
XmlNode root = xml.SelectSingleNode("beijing");
XmlNodeList childlist = root.ChildNodes;
string strResult = "[";
for (int i = 0; i < childlist.Count; i++)
{
strResult += "{'cityname':'" + childlist[i].Attributes["cityname"].Value + "',";
strResult += "'state1':'" + childlist[i].Attributes["state1"].Value + "',";
strResult += "'state2':'" + childlist[i].Attributes["state2"].Value + "',";
strResult += "'stateDetailed':'" + childlist[i].Attributes["stateDetailed"].Value + "',";
strResult += "'tem1':'" + childlist[i].Attributes["tem1"].Value + "',";
strResult += "'tem2':'" + childlist[i].Attributes["tem2"].Value + "',";
strResult += "'temNow':'" + childlist[i].Attributes["temNow"].Value + "',";
strResult += "'windState':'" + childlist[i].Attributes["windState"].Value + "',";
strResult += "'windDir':'" + childlist[i].Attributes["windDir"].Value + "',";
strResult += "'windPower':'" + childlist[i].Attributes["windPower"].Value + "',";
strResult += "'humidity':'" + childlist[i].Attributes["humidity"].Value + "',";
strResult += "'time':'" + childlist[i].Attributes["time"].Value + "',";
strResult += "'url':'" + childlist[i].Attributes["url"].Value + "'},";
}
strResult = strResult.Substring(0, strResult.Length - 1);
return strResult + "]";
}
public static string GetRequestData(string sUrl)
{
//使用HttpWebRequest类的Create方法创建一个请求到uri的对象。
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(sUrl);
//指定请求的方式为Get方式
request.Method = WebRequestMethods.Http.Get;
//获取该请求所响应回来的资源,并强转为HttpWebResponse响应对象
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
//获取该响应对象的可读流
StreamReader reader = new StreamReader(response.GetResponseStream());
//将流文本读取完成并赋值给str
string str = reader.ReadToEnd();
//关闭响应
response.Close();
return str;
} }
}

  

C# 获取接口数据(xml格式)转为json格式的更多相关文章

  1. 将object格式转为json格式

    在页面内容显示时,有时需要用到json格式.但数据库内容的显示,需要将数据库中获取的格式转为json: using Newtonsoft.Json;public static string ToJso ...

  2. charles抓取线上接口数据替换为本地json格式数据

    最近要做下拉刷新,无奈测试服务器的测试数据太少,没有足够的数据做下拉刷新,所以用charles抓取了测试服务器的接口,然后在伪造了很多数据返回到我的电脑上,下面来说说使用方法: 第一步: 安装FQ软件 ...

  3. 数据库获取map数据后转化成json格式的数据

    一,从数据库查出来的数据 两张表先各自左外连接,然后在相互左外连接查找省市县的数据(业务需求必须这样做,省市去的是第一张表,而市县取的是第二张表,两张表中间通过市的名字连接)见这个博文的最后一张图片 ...

  4. 读取mysql数据库的数据,转为json格式

    # coding=utf-8 ''' Created on 2016-10-26 @author: Jennifer Project:读取mysql数据库的数据,转为json格式 ''' import ...

  5. 关于多条数据转为json格式单次传输的问题 2017.05.27

    数据形式如下: var mycars = [];//定义数组存放多条数据 for(var i=0;i<2;i++){ var jsonData = {};//定义变量存放单条数据 jsonDat ...

  6. ajax处理返回的三种格式(json格式 , xml通用格式 , html文本格式)(数据类型:整数、字符串、数组、对象)(基础最重要!)

    ajax方法的参数 常用的ajax参数比如url,data,type,包括预期返回类型dataType,发送到服务器的数据的编码类型contentType,成功方法,失败方法,完成方法.除了这些以外还 ...

  7. python中将xml格式转json格式

    一.简介 在用python写脚本时,通常需要处理xml格式的文件或字符串.由于json格式处理的方便性, 我们可将其转为json格式进行处理. 二.步骤 1.安装工具包xmltodict 在命令行输入 ...

  8. C#RSA算法实现+如何将公钥为XML格式转为PEM格式,给object-C使用

    .net中,处于安全的考虑,RSACryptoServiceProvider类,解密时只有同时拥有公钥和私钥才可以.原因是公钥是公开的,会被多人持有.这样的数据传输是不安全的.C#RSA私钥加密,公钥 ...

  9. Thinkphp3.2.3框架下封装公共的函数,例如封装CURL函数来获取接口数据

    当我们需要在控制层调用相同的封装函数时,写多次相同的函数,显得代码十分的拉杂,不精简: TP框架有一个很好的机制,可以再Common定义一个function.php函数,当我们在控制层调用的时候直接调 ...

  10. php curl请求和获取接口数据

    curl请求和获取接口数据 class ToolModel{ /** * [http 调用接口函数] * @Author GeorgeHao * @param string $url [接口地址] * ...

随机推荐

  1. javascript简写精练

    一.算术运算符 var n = 5,v; 1.n = n*5; 2.n*=5; 同 n = n*5 二.条件判断 var b = true; 1.if (!false) { alert('true') ...

  2. 在linux下makefile的使用

    在linux下makefile的使用

  3. 带你走进EJB--将EJB发布为Webservice(2)

    在企业级的应用程序中经常都要把用不同语言写成的.在不同平台上运行的各种程序集成起来,而这种集成将花费很大的开发力量. 简单的一个例子:应用程序经常需要从运行在A主机上的程序中获取数据:或者把数据发送到 ...

  4. 微信小程序 - tab+swiper切换(非组件)

    无奈slot不支持循环,无法成为组件. 该模板适用于新闻等,点击下载示例:tabswiper

  5. Stingray验证机制

    Filter 系统中的验证使用的是Filter库来完成,利用Filter配置几个属性和参数就实现了表单验证,简化了工作.基本原理很简单,在onload之后按照属性查找元素,然后绑定相应的change/ ...

  6. Ubuntu安装rabbitMq

    笔者ubuntu版本为Ubuntu 15.10,查看ubuntu当前版本命令:cat /etc/issue. 由于rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erla ...

  7. infobright系列一:源码安装infobright

    1:下载infobright http://www.infobright.org/downloads/ice/infobright-4.0.7-0-src-ice.tar.gz 2:查看环境 rpm ...

  8. Ant脚本简介与基础知识

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6624003.html  一:Ant是什么 Ant相当于Linux环境下的shell脚本,只不过是用xml文档来 ...

  9. at java.lang.AbstractStringBuilder.toString

    04-18 14:40:12.615 1210-1210/com.tongyan.lanzhou.rv I/dalvikvm: "main" prio=5 tid=1 RUNNAB ...

  10. 【HTML5 Canvas】计算元件/显示对象经过Matrix变换后在上级/舞台上的bounds(边界矩形rect)

    如上图所示,这样的一个简单矩形,边界矩形是(x:-28, y:-35, width:152, height:128),这是在这个元件/显示对象自己的坐标空间的范围. 那么把这个放到父元件(舞台)中,再 ...