[英]How to call API URL in asp.net
我是asp.net的新手。 我想调用api url,响应将以xml的形式返回。 我的问题是如何使用c#在我的asp.net代码中的api网址下方调用。
我正在将vs 2008与3.5配合使用。
API URL: http : //free.worldweatheronline.com/feed/weather.ashx?q=Mumbai&format=xml&num_of_days=2&key=apikey
谁能帮我。
以下代码如何工作? 还有更多实现此目的的API,我认为这是最简单的一种。
WebClient webClient = new WebClient();
string content = webClient.DownloadString("http://free.worldweatheronline.com/feed/weather.ashx?q=Mumbai&format=xml&num_of_days=2&key=api_key");
XElement xml = XElement.Parse(content);
using (MemoryStream ms = new MemoryStream())
{
xml.Save(ms);
// use the ms here.
}
或者只是使用它来获取MemoryStream。
MemoryStream ms = new MemoryStream(webClient.DownloadData(uri));
//Load XML (replace "apikey" in the query string by your API key)
XDocument xdoc = XDocument.Load(@"http://free.worldweatheronline.com/feed/weather.ashx?q=Mumbai&format=xml&num_of_days=2&key=apikey");
//Run query with LINQ
var query = from cc in xdoc.Descendants("current_condition")
select cc;
//To convert memory stream .NET 3.5
MemoryStream ms = new MemoryStream();
XmlWriterSettings xws = new XmlWriterSettings();
xws.OmitXmlDeclaration = true;
xws.Indent = true;
using (XmlWriter xw = XmlWriter.Create(ms, xws))
{
xdoc.WriteTo(xw);
}
// to convert Memory stream if you are using .NET 4+
Stream stream = new MemoryStream();
xdoc.Save(stream);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.