【发布时间】:2010-05-18 16:24:43
【问题描述】:
我有一个特定的 html 节点,我想获得第二个,也就是最后一个直系后代。所以在写完.Descendants("div")之后我写了ls.Last()。我实际上得到了第二个后代的最后一个 div。不是我所期待的。我如何只获得直系后代?或者我如何获得具有特定类名的后代?因为“div.postBody”将是一个合适的替代方案。
【问题讨论】:
我有一个特定的 html 节点,我想获得第二个,也就是最后一个直系后代。所以在写完.Descendants("div")之后我写了ls.Last()。我实际上得到了第二个后代的最后一个 div。不是我所期待的。我如何只获得直系后代?或者我如何获得具有特定类名的后代?因为“div.postBody”将是一个合适的替代方案。
【问题讨论】:
使用 XPath 可以满足您的需求。所以只有直系后代可以使用 -
htmlNode.SelectNodes("/div");
或者如果您需要按特定的类名搜索,那么 -
htmlNode.SelectNodes("//div[@class='postBody']");
【讨论】: