내 웹 요청 클라이언트를 통해 다운로드 한 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 Agility 팩만 사용하려면이 방법을 사용하십시오.
var child = htmlDoc.DocumentNode.SelectNodes("//span[@class='fb']")
.FirstOrDefault();
if (child != null)
{
var parent = child.ParentNode;
parent.RemoveChild(child);
var innerText = parent.InnerText;
}