gpt4 book ai didi

c# - 通过 HtmlAgilityPack 获取属性的值

转载 作者:可可西里 更新时间:2023-11-01 08:37:43 25 4
gpt4 key购买 nike

我想通过 HtmlAgilityPack 获取一个属性的值。 HTML代码:

<link href="style.css">
<link href="anotherstyle.css">
<link href="anotherstyle2.css">
<link itemprop="thumbnailUrl" href="http://image.jpg">
<link href="anotherstyle5.css">
<link href="anotherstyle7.css">

我想获取最后一个 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;

更新:如果你想获得最后一个同时具有 itemprophref 属性的元素,那么使用 XPath //link[@href and @itemprop] [last()]//link[@href 和 @itemprop] 如果您使用第一种方法。

关于c# - 通过 HtmlAgilityPack 获取属性的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21236359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com