C# 使用两个foreach语句的htmlagilitypack和httpclient
Windows Phone 8.0 Silverlight应用程序 我的主页.xaml.cs中有以下代码C# 使用两个foreach语句的htmlagilitypack和httpclient,c#,silverlight,windows-phone-8,html-agility-pack,C#,Silverlight,Windows Phone 8,Html Agility Pack,Windows Phone 8.0 Silverlight应用程序 我的主页.xaml.cs中有以下代码 protected async override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); string htmlPage = ""; string htmlPage2 = ""; using (var client =
protected async override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
string htmlPage = "";
string htmlPage2 = "";
using (var client = new HttpClient())
{
htmlPage = await client.GetStringAsync("http://page1");
htmlPage2 = await client.GetStringAsync("http://page2");
}
HtmlDocument htmlDocument = new HtmlDocument();
htmlDocument.LoadHtml(htmlPage);
foreach (var div in htmlDocument.DocumentNode.SelectNodes("//div[starts-with(@id, 'p66acd000')]"))
{
GameDeals newGameDeals = new GameDeals();
newGameDeals.dealTitle = div.SelectSingleNode(".//h2//a").InnerText.Trim();
newGameDeals.dealCover = div.SelectSingleNode("(.//img)[1]").Attributes["src"].Value;
newGameDeals.dealPriceText = div.SelectSingleNode(".//a[@class= 'GExclusive']").InnerText.Trim();
newGameDeals.dealPriceGold = div.SelectSingleNode(".//span[@class= 'GPrice ProductPrice']").InnerText.Trim();
newGameDeals.dealPriceSilver = div.SelectSingleNode(".//span[@class= 'SPrice ProductPrice']").InnerText.Trim();
gameDeals.Add(newGameDeals);
}
lstGameDeals.ItemsSource = gameDeals;
HtmlDocument htmlDocument2 = new HtmlDocument();
htmlDocument2.LoadHtml(htmlPage2);
foreach (var div in htmlDocument2.DocumentNode.SelectNodes("//div[starts-with(@class, 'copyContainer')]"))
{
GameDeals newGameDeals = new GameDeals();
newGameDeals.dealTitle = div.SelectSingleNode(".//h4").InnerText.Trim();
newGameDeals.dealCover = div.SelectSingleNode("(.//img)[1]").Attributes["src"].Value;
}
lstGameDeals.ItemsSource = gameDeals;
}
我从这两个页面检索数据,但是,第2页的内容不会传递到MainPage.xaml中的lstGameDeals。我能用两个foreach吗,还是我在这里做错了什么
谢谢。在第二次foreach之后,您使用
gameDeals
变量设置lstGameDeals
的项目来源,但我认为您希望使用newGameDeals
。尝试lstGameDeals.ItemsSource=newGameDeals代码>在第二个foreach之后 谢谢你,Kyur,这不是问题所在,但你让我意识到什么是错的。在第二个foreach结尾处,我错过了以下代码。。gameDeals.Add(newGameDeals);