不知道那叫什么,但它代表创建论坛线程的用户:
...
<a href="http://myforum.com/forum/most-fav-action-movies/" id="thread_title_10178" style="font-weight:bold">Most Favorite Action Movies</a>
</div>
<div class="smallfont">
<span style="cursor:pointer" onclick="window.open('http://myforum.com/forum/members/u506/', '_self')">JOANVENGE</span>
</div>
</td>
<td class="alt2" title="Replies: 17, Views: 651">
<div class="smallfont" style="text-align:right; white-space:nowrap">
...
所以在这种情况下,它是我想要得到的“JOANVENGE”字符串。目前我正在a
使用以下链接获取链接:
IEnumerable<HtmlNode> threadLinks = doc.DocumentNode.
Descendants ( "a" ).
Where ( link => link.Id.StartsWith ( linkIdPrefix ) );
但这不包含论坛 url 和 id 以外的任何内容。这就是为什么我不确定如何在a
链接之外获取该文本。
编辑:我目前正在创建另一个IEnumerable
只收集“span”然后将它们匹配到第一个列表,但这似乎很麻烦和脆弱,因为由于某种原因span
链接比a
链接多 1,所以我正在做index + 1
。现在它工作正常,但如果我可以直接从第一个列表的链接中访问这些信息,它会更加健壮。下一个和上一个节点,直到我点击null
值也不会到达span
部分。所以我假设无论情况如何,这些都是 HtmlAgilityPack 的独立实体。