刮HTML表。UWP与C#

刮HTML表。UWP与C#,c#,uwp,uwp-xaml,C#,Uwp,Uwp Xaml,我有以下代码用于删除以下HTML表: 仅获取表中“服务”的代码 var MobileSiteLinks = MobileDocument.DocumentNode.SelectNodes("//div[starts-with(@class,'content')]//a[starts-with(@class,'service')]"); foreach (var a in MobileSiteLinks) {

我有以下代码用于删除以下HTML表:

仅获取表中“服务”的代码

var MobileSiteLinks = MobileDocument.DocumentNode.SelectNodes("//div[starts-with(@class,'content')]//a[starts-with(@class,'service')]");

                    foreach (var a in MobileSiteLinks)
                    {
                        DestinationPlaces newPlace = new DestinationPlaces();
                        newPlace.Services = a.InnerText.Trim();
                        places4.Add(newPlace);
                    }

<table class="busexpress-clientwidgets-departures-departureboard">
<thead><tr class="rowStopName"><th colspan="3" title="briamaw" data-  lat="50.8016420087726" data-lng="-0.0475264219580729" data-bearing="">Cranleigh Avenue</th><tr>
<tr class="textHeader"><th colspan="3">text briamaw to 84268 for live times</th><tr>
 <tr class="rowHeaders"><th>service</th><th>destination</th><th>time</th><tr></thead><tbody>
 <tr class="rowServiceDeparture">
 <td class="colServiceName">27</td>
 <td class="colDestination" title="Saltdean">Saltdean</td>
<td class="colDepartureTime" data-departureTime="29/05/2017 15:04:00" title="1 mins">1 mins</td>
</tr>
<tr class="rowServiceDeparture">
<td class="colServiceName">14B</td>
<td class="colDestination" title="Peacehaven">Peacehaven</td>
<td class="colDepartureTime" data-departureTime="29/05/2017 15:19:00" title="16 mins">16 mins</td>
</tr>
<tr class="rowServiceDeparture">
<td class="colServiceName">12A</td>
<td class="colDestination" title="Eastbourne">Eastbourne</td>
<td class="colDepartureTime" data-departureTime="29/05/2017 15:22:00" title="19 mins">19 mins</td>
</tr>
<tr class="rowServiceDeparture">
<td class="colServiceName">27</td>
<td class="colDestination" title="Saltdean">Saltdean</td>
<td class="colDepartureTime" data-departureTime="29/05/2017 15:23:00" title="20 mins">20 mins</td>
</tr>
var MobileSiteLinks=MobileDocument.DocumentNode.SelectNodes(//div[以(@class,'content'))开头]//a[以(@class,'service')]开头];
foreach(MobileStelinks中的var a)
{
DestinationPlaces newPlace=新DestinationPlaces();
newPlace.Services=a.InnerText.Trim();
地点4.添加(新地点);
}
克兰利大道
实时时间文本briamaw至84268
servicedestinationtime
27
萨特丁
1分钟
14B
和平港
16分钟
12A
伊斯特本
19分钟
27
萨特丁
20分钟
我知道现在UWP应用程序中不支持SelectNodes。如何使用新格式获取相同的信息

谢谢

我知道现在UWP应用程序中不支持SelectNodes

UWP应用程序确实有
SelectNodes
相关方法。如果将上表另存为XML文件,则可以使用该类,它包含该方法。例如:

 Windows.Data.Xml.Dom.XmlDocument doc;
 StorageFile storageFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/Onetable.xml"));
 Windows.Data.Xml.Dom.XmlLoadSettings loadSettings = new Windows.Data.Xml.Dom.XmlLoadSettings();
 doc = await Windows.Data.Xml.Dom.XmlDocument.LoadFromFileAsync(storageFile, loadSettings);
 var xpath = "//tr[@class='rowServiceDeparture']"; 
 var MobileSiteLinks = doc.SelectNodes(xpath);
您可以参考更多详细信息

您的代码片段看起来像是在使用
HtmlAgilityPack
包。如果以上内容仅另存为HTML格式,您也可以在UWP应用程序中使用
HtmlAgilityPack
,它还包含您上面显示的
SelectNodes
方法。注意UWP中支持的使用

WebRequest request = HttpWebRequest.Create("url");
WebResponse response = await request.GetResponseAsync();
Stream stream = response.GetResponseStream();
var result = "";
using (StreamReader sr = new StreamReader(stream))
{
    result = sr.ReadToEnd();
}
HtmlDocument MobileDocument = new HtmlDocument();
MobileDocument.LoadHtml(result);
var nodes = MobileDocument.DocumentNode.SelectNodes("//tr[@class='rowServiceDeparture']");

谢谢使用了HtmlAgilityPack for net,这与我现有的代码一起工作!