我发现萤火虫作为html解析器,jQuery类似选择器。但似乎visual无法解析QuerySelectorAll方法。
这是我的代码:
using HtmlAgilityPack;
HtmlAgilityPack.HtmlWeb web = new HtmlWeb();
HtmlAgilityPack.HtmlDocument document = web.Load(url);
var c = document.QuerySelectorAll('div');我错过什么推荐信了吗?
编辑:在搜索之后,我找到了这段使用Fizzler的代码
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
const string search = "td";
SelectorGenerator<HtmlNode> selectorGenerator1 = new SelectorGenerator<HtmlNode>(new HtmlNodeOps());
HumanReadableSelectorGenerator selectorGenerator2 = new HumanReadableSelectorGenerator();
Parser.Parse(search, new SelectorGeneratorTee(selectorGenerator1, selectorGenerator2));
var c = selectorGenerator1.Selector(Enumerable.Repeat(doc.DocumentNode, 1)).ToList();我仍然在为我的问题寻找好的答案。
发布于 2012-06-07 18:25:00
可能是这样的:
using Fizzler.Systems.HtmlAgilityPack;还可以尝试一下CsQuery,我的C# jQuery端口:https://github.com/jamietre/CsQuery
var dom = CQ.CreateFromUrl(url);
var c = dom["div"];。。再加上你过去从jQuery那里学到的东西。
发布于 2014-02-18 14:53:44
老问题,但这个问题很管用:
using HtmlAgilityPack;
using Fizzler.Systems.HtmlAgilityPack;
var web = new HtmlWeb();
var document = web.Load("some-url");
var c = document.DocumentNode.QuerySelectorAll("div");QuerySelectorAll是HtmlNode类型的扩展方法,但是您试图在HtmlDocument上使用它。
发布于 2015-05-02 07:39:41
您很可能缺少对Fizzler.Systems.HtmlAgilityPack的引用
我建议添加这个nuget包。萤火虫
using Fizzler.Systems.HtmlAgilityPack;
using HtmlAgilityPack;
using HtmlDoc = HtmlAgilityPack.HtmlDocument;然后你就可以像
var html = new HtmlDoc();
html.LoadHtml(HtmlText);
// Fizzler for HtmlAgilityPack is implemented as the
// QuerySelectorAll extension method on HtmlNode
var document = html.DocumentNode;
// yields: [<p class="content">Fizzler</p>]
document.QuerySelectorAll(".content");https://stackoverflow.com/questions/10879720
复制相似问题