2016-05-12 67 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 –