如何使用 html 敏捷包获得 tr
how to get tr using html agility pack
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>
我想获取 tr 标签内每个 th 和 td 标签的标签和数据,前 4 个只有品牌系列颜色和操作系统,但也有一些其他项目也有相同的 th 和 td class一个 tr,请告诉我如何使用 html 敏捷包获取这些项目,我将这 4 个插入数据库,我使用 select 节点 我只获取第一个 tr 的内部文本,当我什么时候我到达这些 tr's 我正在使用此代码
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;
我现在对 HAP 更熟悉了,但是 tr 里面的 classes 是一样的,我现在不知道如何得到它们。
我不知道你想在这里做什么,但我想 .Contains
功能可能会帮助你解决你的问题,请使用 .Contains
功能进行检查
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
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>
我想获取 tr 标签内每个 th 和 td 标签的标签和数据,前 4 个只有品牌系列颜色和操作系统,但也有一些其他项目也有相同的 th 和 td class一个 tr,请告诉我如何使用 html 敏捷包获取这些项目,我将这 4 个插入数据库,我使用 select 节点 我只获取第一个 tr 的内部文本,当我什么时候我到达这些 tr's 我正在使用此代码
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;
我现在对 HAP 更熟悉了,但是 tr 里面的 classes 是一样的,我现在不知道如何得到它们。
我不知道你想在这里做什么,但我想 .Contains
功能可能会帮助你解决你的问题,请使用 .Contains
功能进行检查
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