我正在创建一个 MetroStyle 应用程序,并且我想使用基于 HTTP Get 方法的网站 API。例如登录我应该下载这个 URL 返回的 XML:
websitehost.com/api/login.php?u=username&p=password
问题是新的 MetroStyle 应用程序不允许我使用我多年来在 .Net 中使用的许多方法,那么如何下载返回的 XML 文档并对其进行解析呢?
我正在创建一个 MetroStyle 应用程序,并且我想使用基于 HTTP Get 方法的网站 API。例如登录我应该下载这个 URL 返回的 XML:
websitehost.com/api/login.php?u=username&p=password
问题是新的 MetroStyle 应用程序不允许我使用我多年来在 .Net 中使用的许多方法,那么如何下载返回的 XML 文档并对其进行解析呢?
您可能正在搜索这个:
public async Task<string> DownloadPageStringAsync(string url)
{
HttpClientHandler handler = new HttpClientHandler()
{ UseDefaultCredentials = true, AllowAutoRedirect = true };
HttpClient client = new HttpClient(handler);
HttpResponseMessage response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
return await response.Content.ReadAsStringAsync();
}
您可以使用该Windows.Data.Xml.Dom.XmlDocument.LoadFromUriAsync(Uri)
方法自动获取并解析 XML,也可以手动使用Windows.Networking.BackgroundTransfer.DownloadOperation
实例调用 Web 服务并获取数据并Windows.Data.Xml.Dom.XmlDocument.LoadXml(string)
解析数据。
你应该可以使用
var data = await (new System.Net.Http.HttpClient()).GetAsync(new Uri("http://wherever"));
然后对数据做任何你需要的事情,包括用 XmlDocument 或 XElement 或诸如此类的加载它。