HTML解析C#
作者:互联网
我正在解析HTML文件,并且遇到了一些问题.
我正在使用以下代码:
编辑********************************
更新的代码现在可以使用了.
私有void PhoneApplicationPage_Loaded(对象发送者,RoutedEventArgs e)
{
WebClient client = new WebClient();
client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted);
client.DownloadStringAsync(new Uri(@"http://www.SourceURL.com"));
}
void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
var html = e.Result;
var doc = new HtmlDocument();
doc.LoadHtml(html);
var list = doc.DocumentNode.Descendants("div").ToList();
var node = doc.DocumentNode.Descendants("div")
.FirstOrDefault(x => x.Id == "FlightInfo_FlightInfoUpdatePanel")
.Element("table")
.Element("tbody")
.Elements("tr").Aggregate("Flight list\n", (acc, n) => acc + "\n" + n.InnerHtml);
// .Elements("td")
this.scrollViewer1.Content = node;
}
}
}
这给了我这个结果.
现在将根据需要显示所有结果.
我的问题是:如何更改此代码以显示所有< tr>下的所有结果
编辑############################ XAML
ListBox Margin="6,6,-12,0" Name="listBox1">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,17" Width="432" Height="Auto">
<TextBlock Text="{Binding Flight}" Foreground="#FF4BCCF5" FontSize="24" />
<TextBlock Text="{Binding Origin}" TextWrapping="Wrap" FontSize="22" Foreground="#FF969696" />
<TextBlock Text="{Binding Date}" TextWrapping="Wrap" FontSize="20" Foreground="#FF05C16C" />
<TextBlock Text="{Binding Time}" TextWrapping="Wrap" FontSize="20" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
解决方法:
假设您拥有与使用XElement时相同的可用方法,那么应该可以解决问题
var text = list.Descendants("div")
.FirstOrDefault(x => x.Id == "FlightInfo_FlightInfoUpdatePanel")
.Element("table")
.Element("tbody")
.Descendants("tr").Aggregate("",(acc,n)=>acc+"\n"+n.OuterHtml);
this.textBlock2.Text = text;
标签:windows-phone-7,html-agility-pack,html,c,parsing 来源: https://codeday.me/bug/20191102/1989956.html