使用HTML Agility Pack删除带前缀的标签

时间:2010-01-20 22:31:27

标签: c# html-agility-pack

我正在尝试使用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,我试过开始但仍然没有去。

也许是因为标签是空的?

1 个答案:

答案 0 :(得分:2)

您可以使用启动选择器。

即:

var nodes = document.DocumentNode.SelectNodes("//*[starts-with(@class, 'cnn_')]");

其中@class是您要查找的属性。

更新

如果您只对数据源和/或ID感兴趣,可以运行:

//*[@datasource]

//*[contains(@id, 'WC_']

但是,了解您要提取的内容有助于优化选择器。