【发布时间】:2020-01-19 21:42:15
【问题描述】:
我成功地从下面的 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>
解析 html 的 C# 代码:
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
提前致谢。
【问题讨论】:
标签: c# asp.net html-parsing html-agility-pack