我有一个通过我的webrequest客户端下载的HTML。在整个 html 中,我只想解析 HTML 的这一部分:
<span class="sku">
<span class="fb">SKU :</span>118880101
</span>
我正在使用 HTML agilty pack 来检索此值:118880101
我写了这样的东西:
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(html);
return htmlDoc.DocumentNode.SelectNodes("//span[@class='sku']").ElementAt(0).InnerText;
这从 HTML 中返回了这个值:
SKU :118880101
从字面上看,包括空间...如何使用 HTML Agilty 包修复此逻辑,以便我只能取出此118880101值?
有人可以帮助我吗?
编辑:像这样的正则表达式可以做到这一点:
Substring(skuRaw.LastIndexOf(':') + 1);
这意味着在我收到的字符串中获取":"之后的所有内容......但我不确定像这样使用正则表达式是否安全?
试试这个
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(html);
var innerText=htmlDoc.DocumentNode.SelectNodes("//span[@class='sku']")
.ElementAt(0).InnerText;
return innerText.replace(/D/g,'');
如果您只想使用 Html 敏捷包,请尝试此操作
var child = htmlDoc.DocumentNode.SelectNodes("//span[@class='fb']")
.FirstOrDefault();
if (child != null)
{
var parent = child.ParentNode;
parent.RemoveChild(child);
var innerText = parent.InnerText;
}