我正在尝试使用HAP访问带前缀的标签,但以下操作不起作用(它们什么也不返回):
HtmlAgilityPack.HtmlNodeCollection nodes = document.DocumentNode.SelectNodes("//*[name() ='sc:xslfile']");
HtmlAgilityPack.HtmlNodeCollection nodes = document.DocumentNode.SelectNodes("//*['sc:xslfile']");
有什么想法吗?
编辑:
HTML看起来像这样:
<p>Men's Standings<br /><sc:xslfile runat="server" datasource="/Global/Tables/1_01/9859_" id="WC_9859"></sc:xslfile><br /><br /><br />Women's Standings<br /><sc:xslfile runat="server" datasource="/Global/Tables/1_01/9860_" id="WC_9860"></sc:xslfile></p>
@Pat,我尝试了开始-但还是没有去。
也许是因为标签是空的? 最佳答案
您可能可以使用开始方式选择器。
即:
var nodes = document.DocumentNode.SelectNodes("//*[starts-with(@class, 'cnn_')]");
@class是您要查找的属性。
更新:
如果您仅对数据源和/或ID感兴趣,则可以运行:
//*[@datasource]
要么
//*[contains(@id, 'WC_']
但是,了解您要提取的内容将有助于优化选择器。