我已成功从下面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的问题,似乎没有什么能解决这个问题。

输出示例:

规格表:d07

提前致谢。

#1楼 票数:2 已采纳

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

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

  ask by Evik Ghazarian translate from so

未解决问题?本站智能推荐:

1回复

Agility Helper Html 检索 p/paragraphs 文本直到到达另一个锚点

我正在使用 Agility Helper HTML,到目前为止我有这样的代码: 所以这可以很好地读取 web 段落文本,除了,我希望它读取所有段落文本组合,直到到达另一个锚点标记或者如果你能想到更好的方法。 所以现在使用我拥有的代码,它分别读取每个段落的 P 文本。 文本 #1 是 内容
2回复

将HTML表解析为CSV文件(colspan和rowspan)

我想将HTML表解析为CSV文件,但要保留正确数量的colspan和rowpspan。 我正在使用“;” 作为分隔格 。 因此,例如,当有2列colspan时,而不是只有一列“;”,它将有2列。 我可以提取表的内容并在tr指示符的结尾处换行,但不知道如何处理colspan和row
1回复

如何使用HTMLAgilityPack获取data-preconnect-url

我正在使用HTMLAgilityPack,并且尝试抓取data-preconnect-urls下的链接http://www.hundsun.co.jp/ 。 我该怎么办?
2回复

HTML敏捷包

我在一个网页上有html表格 现在从这个使用html敏捷包的网页我想要提取列地址和电话的数据不仅。 这意味着我首先找到了哪个表有列地址和phoneno。找到该表后我想提取该列地址和phoneno的数据我该怎么办? 我可以拿到桌子。 但在那之后我该怎么办才明白。 还有一件事
1回复

HTML敏捷包

我想使用html敏捷包解析html表。 我想从表中只提取一些预定义的列数据。 但我是解析和html敏捷包的新手,我已经尝试但我不知道如何使用html敏捷包来满足我的需求。 如果有人知道的话,请尽可能给我示例 编辑: 如果我们只想提取决定的列名数据,是否可以解析html表
1回复

从外部Web URL获取标题和图像时的HTML敏捷包问题

我正在使用HTML敏捷性DLL来获取图像和外部网站链接的标题。 当我尝试从网站上加载标题时。 http://www.gettyimages.com,然后我得到了错误的标题。 我收到标题“盖蒂图片-检测到不支持的浏览器” 怎么了?
2回复

Html敏捷包不加载网址

我有这样的事情: 现在当我启动我的程序时,它会在if文件上抛出一个错误,说Object reference not set to an instance of an object. 。 为什么不加载我的页面? 我在这做错了什么?
2回复

HTMl敏捷包错误解析并返回XElement

我可以解析文档并生成输出,但是由于ap标记,输出无法解析为XElement,字符串中的所有其他内容都被正确解析。 我的意见: 我的代码: 我的输出: 粗体p标签是没有正确输出的标签......有没有办法解决这个问题? 我做错了代码吗?