通过HtmlAgilityPack获取属性的值
我想通过HtmlAgilityPack获取属性的值。 Html代码:
我想获得最后一个href属性。
我的c#代码:
HtmlWeb web = new HtmlWeb(); HtmlAgilityPack.HtmlDocument htmldoc = web.Load(Url); htmldoc.OptionFixNestedTags = true; var navigator = (HtmlNodeNavigator)htmldoc.CreateNavigator(); string xpath = "//link/@href"; string val = navigator.SelectSingleNode(xpath).Value;
但该代码返回第一个href值。
以下XPath选择已定义href
属性的link
元素。 然后从您选择最后一个的链接:
var link = doc.DocumentNode.SelectNodes("//link[@href]").LastOrDefault(); // you can also check if link is not null var href = link.Attributes["href"].Value; // "anotherstyle7.css"
您还可以使用last()
XPath运算符
var link = doc.DocumentNode.SelectSingleNode("/link[@href][last()]"); var href = link.Attributes["href"].Value;
更新:如果你想获得同时具有itemprop
和href
属性的最后一个元素,那么使用XPath //link[@href and @itemprop][last()]
或//link[@href and @itemprop]
如果你将采取第一种方法。
你需要这样的东西:
HtmlWeb web = new HtmlWeb(); HtmlAgilityPack.HtmlDocument htmldoc = web.Load(Url); htmldoc.OptionFixNestedTags = true; var navigator = (HtmlNodeNavigator)htmldoc.CreateNavigator(); string xpath = "//link[@itemprop]/@href"; string val = navigator.SelectSingleNode(xpath).Value;
好的,我来到这里:
var link = htmldoc.DocumentNode.SelectSingleNode("//link[@itemprop='thumbnailUrl']"); var href = link.Attributes["href"].Value;
将网页加载为Htmldocument并直接选择最后一个链接标记。
HtmlWeb web = new HtmlWeb(); HtmlDocument doc = web.Load(Url); var output = doc.DocumentNode.SelectNodes("//link[@href]").LastOrDefault(); var data = output.Attributes["href"].Value;
或者将网页加载为Htmldocument并获取所有选定链接标记的集合,然后使用循环行进然后访问最后选择标记属性。
上述就是C#学习教程:通过HtmlAgilityPack获取属性的值分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
HtmlWeb web = new HtmlWeb(); HtmlDocument doc = web.Load(Url); int count = 0; string data = ""; var output = doc.DocumentNode.SelectNodes("//link[@href]"); foreach (var item in output) { count++; if (count == output.Count) { data=item.Attributes["href"].Value; break; } }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/998505.html