Windows Phone get value from url with xml code(Windows Phone使用XML代码从URL获取值)
本文介绍了Windows Phone使用XML代码从URL获取值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试从此URL获取实时货币汇率: http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency=GBP&ToCurrency=LTL
这是我尝试的内容:
public void getRate(string howmuch, string from, string to)
{
int hmuch = int.Parse(howmuch);
string url = "http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency=GBP&ToCurrency=LTL";
var xml = XDocument.Load(url);
var result = xml.Descendants("double");
btn.Content = result;
}
我从XDocument.Load收到一个错误,我需要从文件系统传递URI,而不是从Web传递URL。我在网上找不到在Windows Phone上做这件事的正确方法,只有完整的C#。如何正确获取双标记之间的值?
推荐答案
在大约4小时后找到解决方案:
这是我调用函数并转换结果的方式:
double rate = await getRate("GBP", "LTL");
string res = System.Convert.ToString(rate);
output.Text = res;
请注意,必须将从中调用此函数的方法声明为函数本身,否则不能使用aWait运算符。
功能:
public async Task<double> getRate(string from, string to)
{
string xml = string.Empty;
Uri url = new Uri("http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency="+from+"&ToCurrency="+to);
HttpClient httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.TryAddWithoutValidation("Accept", "text/html,application/xhtml+xml,application/xml");
var response = await httpClient.GetAsync(url);
using (var responseStream = await response.Content.ReadAsStreamAsync())
using (var streamReader = new StreamReader(responseStream))
{
xml = streamReader.ReadToEnd();
}
XDocument xDoc = XDocument.Parse(xml);
XNamespace xmlns = "http://www.webserviceX.NET/";
string value = (string)xDoc.Element(xmlns + "double");
return System.Convert.ToDouble(value);
}
也不要忘记包括所需的标题:
using System.Net;
using System.Xml;
using System.Xml.Linq;
using System.Net.Http;
using System.Threading.Tasks;
这篇关于Windows Phone使用XML代码从URL获取值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:Windows Phone使用XML代码从URL获取值


猜你喜欢
- 如何用自己压缩一个 IEnumerable 2022-01-01
- 带有服务/守护程序应用程序的 Microsoft Graph CSharp SDK 和 OneDrive for Business - 配额方面返回 null 2022-01-01
- C#MongoDB使用Builders查找派生对象 2022-09-04
- 良好实践:如何重用 .csproj 和 .sln 文件来为 CI 创建 2022-01-01
- 在哪里可以找到使用中的C#/XML文档注释的好例子? 2022-01-01
- C# 中多线程网络服务器的模式 2022-01-01
- Web Api 中的 Swagger .netcore 3.1,使用 swagger UI 设置日期时间格式 2022-01-01
- MoreLinq maxBy vs LINQ max + where 2022-01-01
- 输入按键事件处理程序 2022-01-01
- WebMatrix WebSecurity PasswordSalt 2022-01-01