HtmlAgilityPack和Windows 8 winRT

html-agility-pack windows-runtime

我正在尝试为Windows 8构建一个metro应用程序。在这个应用程序中,我正在尝试解析来自网站的数据。为此我正在使用HtmlAgilityPack 1.4.6。但我真的很困惑'Dose HAP 1.4.6适用于Windows 8?'并''它支持Xpath?' Codeplex上的信息太多令人困惑。至于现在似乎它适用于Windows 8但我看不到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-app中使用以下几行解析img css js的 html代码的问题:(对于所有图像,在HtmlDocument html ,链接示例)

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
}

对于css,你可以用link替换img和用href替换src 。对于其他节点的方式相同。



Related

许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因