2016-05-12 62 views
1

的HTML是这样如何获得TR使用HTML敏捷性包

<tr> 
<th class="label">Brand</th> 
<td class="data">Dell</td> 
</tr> 
<tr> 
<th class="label">Series</th> 
<td class="data">Inspiron Touch</td> 
</tr> 
<tr> 
<th class="label">Color</th> 
<td class="data">Black & Red</td> 
</tr> 
<tr> 
<th class="label">Operating System</th> 
<td class="data">Windows 10 Home</td> 
</tr> 
<tr> 
<th class="label">Screen Size</th> 
<td class="data">15.6"</td> 
</tr> 
<tr> 
<th class="label">Touchscreen</th> 
<td class="data">Yes</td> 
</tr> 
<tr> 
<th class="label">Screen Resolution</th> 
<td class="data">3840 x 2160</td> 
</tr> 
<tr> 
<th class="label">Processor Type</th> 
<td class="data">Intel Core i7 6th Gen</td> 
</tr> 
<tr> 
<th class="label">Processor Speed</th> 
<td class="data">2.6 GHz</td> 
</tr> 
<tr> 
<th class="label">Processor Turbo</th> 
<td class="data">Up to 3.5 GHz</td> 
</tr> 
<tr> 
<th class="label">Processor Cache</th> 
<td class="data">6 MB</td> 
</tr> 
<tr> 
<th class="label">Processor Model</th> 
<td class="data">i7-6700HQ</td> 
</tr> 
<tr> 
<th class="label">RAM</th> 
<td class="data">16GB</td> 
</tr> 
<tr> 
<th class="label">RAM Type</th> 
<td class="data">DDR3L</td> 
</tr> 
<tr> 
<th class="label">Hard Disk Capacity</th> 
<td class="data">1TB + 128GB SSD</td> 
</tr> 
<tr> 
<th class="label">HDD Interface</th> 
<td class="data">SATA, SSD</td> 
</tr> 
<tr> 
<th class="label">HDD RPM</th> 
<td class="data">5400</td> 
</tr> 
<tr> 
<th class="label">Graphics</th> 
<td class="data">Nvidia Graphics</td> 
</tr> 
<tr> 
<th class="label">Graphics Detail</th> 
<td class="data">Nvidia GeForce GTX 960M</td> 
</tr> 

我想要得到的标签,每th和td标签tr标签内的数据,前4只品牌系列彩色和操作系统,但也有一些其他项目也有相同的th和td类在一个tr,请告诉我如何使用html敏捷包,这些项目我插入这些4到数据库中,我用选择节点我得到的第一个tr的内部文本只是,当我当我达到这些tr的我使用此代码

HtmlNodeCollection specsNode = null; 
      specsNode = doc.DocumentNode.SelectNodes("//tr']"); 
      foreach (HtmlNode node in specsNode) 
      { 
       string htmli = node.InnerHtml; 
       HtmlDocument doci = new HtmlDocument(); 
       doci.LoadHtml(htmli); 
    htmlNode node2 in doci.DocumentNode.SelectNodes("//td[@class='data']"){ 
node2.InnerText; 

我是familier w现在HAP更多了,但tr里面的类是相同的,我现在不知道如何得到它们。

+0

包括*一些其他项目后的样本HTML在tr *中也有相同的th和td类。此外,你到目前为止使用HtmlAgilityPack尝试过什么? – har07

+0

@ har07我编辑了问题 –

+0

@ har07因为每个td都有相同的类,所以select方法每次选择第一个th和td我不知道如何得到第二个第三个和第四个 –

回答

1

我不知道什么是U试图在这里做的,但我想。载功能可以帮助ü解决您的问题使用。载功能检查

string Result=html; 
htmldocument doc=new htmldocument(); 
doc.Loadhtml(Result); 
htmlnodecollection noden=null; 
noden=doc.DocumentNode.SelectNodes(""); 
if(Result.Contains("your brand")==true) 
{ 
//do something 
+0

谢谢,但我已经解决了使用.Contains –