从 html 获取 href 标签内部文本(html 敏捷包)

Get href tag inner text from html (html agility pack)

我成功地从下面 html 中的所有 href 标签中提取文件名并将其添加到列表中。

HTML:

<ul class="resourcelist">
    <li><a href="/upload/Article/07.pdf" target="_blank"><img src="/assets/images/pdf.png" /> <strong>SPEC SHEET: </strong> d07</a></li>
    <li><a href="/upload/Article/73.pdf" target="_blank"><img src="/assets/images/pdf.png" /> <strong>ASSEMBLY SHEET: </strong> d73</a></li>
    <li><a href="/upload/Article/75.pdf" target="_blank"><img src="/assets/images/pdf.png" /> <strong>ASSEMBLY SHEET: </strong> d75</a></li>
    <li><a href="/upload/Article/71.pdf" target="_blank"><img src="/assets/images/pdf.png" /> <strong>INSTALLATION SHEET: </strong> d71</a></li>
</ul>

C# 代码解析 html:

    public List<string> LinksList = new List<string>();
    public List<string> GetLinks()
        {
            var doc = new HtmlDocument();
            doc.LoadHtml(GetProductDescription("TechnicalSpecifications"));
            HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//a[@href]");
            foreach (var node in nodes)
            {
                var href = node.Attributes["href"].Value.Split('/')[3];
                if (!LinksList.Contains(href))
                {
                    LinksList.Add(href);
                }

            }
            return LinksList;
        }

是否有任何可能的方法来定位从 <strong> 开始的所有内容 + 关闭标签之前的文本? (基本上 < ... > 中没有的所有内容)

我已经查看了大量关于 SO 的问题,似乎没有任何答案。

输出示例:

规格SHEET:d07

提前致谢。

您实际上只是在收集节点的内部文本。这样做:

var texts = doc.DocumentNode
    .SelectNodes("//a[@href]")
    .Select(n => n.InnerText)
    .Distinct()
    .ToList();