gpt4 book ai didi

c# - 使用 "Html Agility pack"选择特定的 html

转载 作者:行者123 更新时间:2023-11-30 22:06:07 25 4
gpt4 key购买 nike

我正在使用 html-agility-pack 并尝试在其中选择特定的 html。我想要获取的部分是这些 block 中的每个 GTIN 编号:

<td><span class="mobile-only">GTIN:</span>07330155011068</td>

-我想要的部分是结束 span-tag 之后的数字。例如:07330155011068。下面是我的 html 和我的 c# 方法:

<div class="table-wrapper" style='display: block;'>
<table id="tableSearchArticle">
<thead>
<tr>
<th><a href="#">Article</a></th>
<th><a href="#">art.nr.</a></th>
<th><a href="#">Brand</a></th>
<th><a href="#">GTIN</a></th>
</tr>
</thead>
<tbody>
<tr>
<td>
<a href="http://www.dabas.com/ProductSheet/Detail.ashx/121308" target="_blank">
Dalapannkaka fryst ca100st 6kg
</a>
</td>
<td><span class="mobile-only">Tillverkarens art.nr:</span>11068</td>
<td><span class="mobile-only">Varumärke:</span>test</td>
<td><span class="mobile-only">GTIN:</span>07330155011068</td>
</tr>
<tr>
<td>
<a href="http://www.dabas.com/ProductSheet/Detail.ashx/124494" target="_blank">
Dessertpannkaka fryst ca100st 6kg
</a>
</td>
<td><span class="mobile-only">Tillverkarens art.nr:</span>11405</td>
<td><span class="mobile-only">Varumärke:</span>test</td>
<td><span class="mobile-only">GTIN:</span>07330155114059</td>
</tr>
</tbody>
</table>

</div>

我正在使用这种方法来尝试获取我的值。问题是我不知道在 SelectNode() 中编写什么代码来获取包含 GTIN 编号的 innerHtml。

public void TestGetHtml()
{
var doc = new HtmlDocument();
doc.Load("C:/Users/Desktop/test.html");
foreach (HtmlNode link in doc.DocumentNode.SelectNodes("TODO: Add code to select all GTIN"))
{

}
doc.Save("file.htm");
}

最佳答案

使用Xpath从 ID 为 tableSearchArticle 的表体中选择第四个单元格。然后获取单元格的内部文本(它将没有 html 标签,如 GTIN:07330155114059)并删除 GTIN 前缀:

var xpath = "//table[@id='tableSearchArticle']/tbody/tr/td[4]";
var gtins = doc.DocumentNode.SelectNodes(xpath)
.Select(td => td.InnerText.Replace("GTIN:", ""));

输出:

[
"07330155011068",
"07330155114059"
]

关于c# - 使用 "Html Agility pack"选择特定的 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23826911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com