Csharp/C#教程:Metro Application如何读取XML API?分享


Metro Application如何读取XML API?

好的,我正在尝试学习如何使用XAML以及如何使用Visual Studio 11 Developer Preview构建新的windows metro应用程序。

我有一个问题,虽然我不知道如何读取XML文件,就像我使用C#一样。 例如,这是我过去的做法。

private void Button_Click(object sender, RoutedEventArgs e) { string UrlString = "https://v1.sidebuy.com/api/get/73d296a50d3b824ca08a8b27168f3b85/?city=nashville&format=xml"; XmlTextReader reader = new XmlTextReader(UrlString); XmlNodeType type; while (reader.Read()) { type = reader.NodeType; if ((type == XmlNodeType.Element) && (reader.Name == "highlights")) { reader.Read(); if (reader.Value != "" && reader.Value != null) { listBox1.Items.Add(reader.Value); } } } } 

但这不适用于我的地铁应用程序。 我需要知道如何为地铁做这件事。 显然XmlTextReader不再有效。 任何代码或建议?

谢谢

您可以使用XmlDocument.LoadFromUriAsync 。 这也应该使您的代码更简单。

 private async void Button_Click(object sender, RoutedEventArgs e) { string UrlString = "https://v1.sidebuy.com/api/get/73d296a50d3b824ca08a8b27168f3b85/?city=nashville&format=xml"; var xmlDocument = await XmlDocument.LoadFromUriAsync(UrlString); //read from xmlDocument for your values. } 

编辑:修正了基于评论的代码。

您需要将async / await keyworks添加到方法中

 private async void Button_Click(object sender, RoutedEventArgs e) var xmlDocument = await XmlDocument.LoadFromUriAsync(UrlString); 

您还可以使用XmlSerializer类,它允许您声明xml中使用的对象类型并直接映射到它们。 Deserialize和Serialize方法适用于任何流,并大大简化了使用xml数据。

上述就是C#学习教程:Metro Application如何读取XML API?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 var xmlserializer = new XmlSerializer(typeof(yourcollectionclass), new []{typeof(yourchildclass1),typeof(yourchildclass2)}); var xml = (yourcollectionclass) xml.deserialize(stream) 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/991133.html

(0)
上一篇 2021年12月23日
下一篇 2021年12月23日

精彩推荐