我是新来的,但在社区中大量用于研究。但现在我找不到我的具体问题的答案。
我正在为我的大学创建一个适用于Windows 10的通用应用。每个学生想要的一个功能是看看食堂里有什么。
我已经和那些为我们的食堂提供互联网信息的人谈过了,我可以在我的应用程序中使用它们(我这样做了,因为有些人通过解析网站上的信息提到了版权问题.. )。
现在我想从URL中获取这些信息并从中创建一个ListView(或更好的东西?),以便在我的应用中显示所有必要的信息。
不幸的是我没有找到任何教程如何做到这一点。所以我认为你可以帮助我(或者更好地了解如何做到这一点)。
我要解析信息的网址是:XML Data
这是信息显示良好的链接:Canteen Website
我真的希望你能帮助我,谢谢你的出色工作!
SAR-71
答案 0 :(得分:0)
首先,欢迎来到StackOverflow。我不得不告诉你,StackOverflow问题的一个重要规则是提供示例代码,以显示尝试解决问题的证据。这里的人不是为您编写项目代码,但如果您有一个特定且定义明确的问题,我们很乐意为您提供帮助。
但是,我会尝试为您的项目提供一个起点。
首先,您要做的事情称为“网络抓取”
如果您正在编写Windows 10应用程序,我假设您是在C#中编写的,并且熟练使用它。
一个处理此问题的库称为HTMLAgilityPack。
您自己的基本用例是:
HtmlWeb web = new HtmlWeb();
HtmlDocument document = web.Load("https://www.studentenwerk-oberfranken.de/?eID=bwrkSpeiseplanRss&tx_bwrkspeiseplan_pi2%5Bbar%5D=340&tx_bwrkspeiseplan_pi2%5Bdate%5D=2016-03-22");
我注意到该网址中有一个日期,但我会假设您知道如何更改该日期以匹配当前日期。
可以找到更详尽的解释here。
现在您已拥有XML,您需要解析XML以获取相关信息。值得庆幸的是,C#有一个名为XmlReader的对象。
现在,Microsoft为XmlReader提供了非常好的文档,您可以找到here。
如果您遇到特定问题或阻止点,请不要犹豫,打开一个新问题,但要使用您怀疑导致问题的代码片段,以及您打算执行此操作的详细说明,以及你不打算做什么。
答案 1 :(得分:0)
每当遇到必须从网上获取某些内容的情况时,都应该找到HttpClient(Win 10 sample)。下载XML的代码可能如下所示:
var httpClient = new HttpClient();
var httpResponse = await httpClient.GetAsync("<your_uri>");
httpResponse.EnsureSuccessStatusCode();
var httpResponseBody = await httpResponse.Content.ReadAsStringAsync();
httpReponseBody
是您的XML
在解析XML时,我建议使用LINQ to XML。您只需搜索
即可找到使用样本谷歌中的LINQ to XML示例
,但有一些基本的查询here