我有一个HTML,我通过我的webrequest客户端下载。在整个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);
这意味着在“:”之后收取所有内容我收到的字符串......但是我不确定这样使用正则表达式是否安全?
答案 0 :(得分: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 Agility包试试这个
var child = htmlDoc.DocumentNode.SelectNodes("//span[@class='fb']")
.FirstOrDefault();
if (child != null)
{
var parent = child.ParentNode;
parent.RemoveChild(child);
var innerText = parent.InnerText;
}