1
我写了一个方法,将返回堆栈溢出问题的所有标记。唯一的问题是集合中的最后一项始终是一个空字符串。为什么在这个HtmlNodeCollection的末尾总会有一个空字符串?
private static async Task<IEnumerable<string>> GetQuestionTags(string url)
{
var document = await Task.Factory.StartNew(() => new HtmlWeb().Load(url));
var nodes = document.DocumentNode.SelectNodes("//*[@id=\"question\"]/table//tr[1]/td[2]/div/div[2]//a");
return nodes.Select(node => node.InnerText);
}
我能只是每次删除最后一个项目集合中,但我想没有这样做。
为什么始终存在一个空字符串作为集合中的最后一个项目,以及如何不检索该项目?
还有另一个链接你'选择; '编辑标签'。我想象,因为你没有10,000的声望,所以文本是空白的。让它选择范围和*然后*'a'只是标签。或者,使用SE API。以下是您正在选择的额外项目:http://i.imgur.com/coCLCVl.png – Rob
您可以尝试添加一个谓词以避免选择空的''元素:'.... // a [normalize-空格()]' – har07
@Rob编辑标签包装范围不存在我... – Albertay