我在html中有这些标签,我希望能帮助他们区分它们:
<tr data-row="0" data-row-quote="_" class="
even
">
<tr data-row="3" data-row-quote="_" class="sometext
odd
">
在上面的标签中,我喜欢包含data-row-quote =&#34; _&#34;以及分隔这两种类型的class属性。
[编辑]
假设我通过使用HttpAgilityPack找到满足建议的xpath查询的tr集合,如下所示:
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(res.Html);
HtmlNodeCollection trs = doc.DocumentNode.SelectNodes("//tr[@data-row-quote=\"_\" and not(starts-with(@class, 'sometext'))]");
让我们说我对第一个和最后一个节点感兴趣,并希望分别得到他们的tds。我可以这样做:
doc.LoadHtml(trs[0].InnerHtml);
HtmlNodeCollection tds1 = doc.DocumentNode.SelectNodes("//td");
doc.LoadHtml(trs[trs.Count-1].InnerHtml);
HtmlNodeCollection tds2 = doc.DocumentNode.SelectNodes("//td");
有什么想法吗?
答案 0 :(得分:0)
使用@data-row-quote
和@class
检查属性值:
//tr[@data-row-quote = "_" and not(contains(@class, "sometext"))]
//tr[@data-row-quote = "_" and contains(@class, "sometext")]