Windows runtime HTMLAlityPack和windows 8 winRT

Windows runtime HTMLAlityPack和windows 8 winRT,windows-runtime,html-agility-pack,Windows Runtime,Html Agility Pack,我正在尝试为windows 8构建metro应用程序。在这个应用程序中,我试图解析来自网站的数据。为此,我使用了HtmlAgilityPack 1.4.6。但我对“HAP1.4.6是否适用于windows 8”和“它是否支持Xpath”感到非常困惑,因为Codeplex上有太多令人困惑的信息。到目前为止,它似乎可以在Windows8上运行,但我看不到HtmlNode.SelectNode方法。如果Xpath不起作用,是否有其他选项来进行解析?你能告诉我一个教程或例子吗?请 您的您可以使用LINQ

我正在尝试为windows 8构建metro应用程序。在这个应用程序中,我试图解析来自网站的数据。为此,我使用了HtmlAgilityPack 1.4.6。但我对“HAP1.4.6是否适用于windows 8”和“它是否支持Xpath”感到非常困惑,因为Codeplex上有太多令人困惑的信息。到目前为止,它似乎可以在Windows8上运行,但我看不到HtmlNode.SelectNode方法。如果Xpath不起作用,是否有其他选项来进行解析?你能告诉我一个教程或例子吗?请


您的

您可以使用LINQ API:

var doc = new HtmlDocument();
doc.LoadHtml(contents);
var programmes = doc.DocumentNode.Descendants().Where(d => d.GetAttributeValue("class", "") == "program")

不幸的是,我在这个API上找不到太多最新的信息。

几周前我创建了自己的算法来保存网页,我还通过以下几行代码解决了在windows 8 metro应用程序中解析img css jshtml代码的问题:(对于所有图像,在
HtmlDocument html
中,链接示例)

IEnumerable imghrefNodes=html.DocumentNode.subjections()。其中(n=>n.Name==“img”);
foreach(imghrefNodes中的HtmlNode img)
{
HtmlAttribute att=img.Attributes[“src”];
//在att.Value中,您可以找到您的img url
//在这里,您可以通过编辑att.Value来完成所有img链接的所有操作
}

对于css,您可以将
img
替换为
link
,将
src
替换为
href
。对于其他节点,同样的方法。

谢谢您的回答,巴特!我只是将数据转换为xml,并使用SgmlReader对其进行解析。我可能很快会对LinqAPI进行测试(只是出于好奇)
IEnumerable<HtmlNode> imghrefNodes = html.DocumentNode.Descendants().Where(n => n.Name == "img");
foreach (HtmlNode img in imghrefNodes)
{
   HtmlAttribute att = img.Attributes["src"];
   //in att.Value you can find your img url
   //Here you can do everything what you want with all img links by editing att.Value
}