Html选择C#
问题描述:
我在源代码中有多个元素,看起来像这样。Html选择C#
<a id="thread_title_158922" href="#"></a>
问题是我不知道标题后面的数字。 所以我想这句法:
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(code);
var items = doc.DocumentNode.SelectNodes("//a[@id='thread_title_*]");
但它不工作。有没有解决方案?
答
此作品(测试):
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(code);
var items = doc.DocumentNode
.SelectNodes("//a[starts-with(@id,'thread_title_')]");
编辑:
我看着对方的回答就被删除之前 - 在我看来这应该都还有工作(或所以我认为):
var items = doc.DocumentNode
.SelectNodes("//a[@id='thread_title_*']"); //returs null
经过一番研究后发现,XPath支持HtmAgilityPac k属性不支持正则表达式,但可以使用如starts-with
,contains
,translate
,substring-before
和substring-after
等函数。只是需要注意。
+0
+1正确答案。 – 2011-02-06 20:24:22
“它不工作”?请参阅http://www.catb.org/~esr/faqs/smart-questions.html#code – Juliet 2011-02-06 20:33:57