<div class="vcard-names-container py-3 js-sticky js-user-profile-sticky-fields " style="position: static;">
<h1 class="vcard-names">
<span class="vcard-fullname d-block" itemprop="name">Name 001</span>
<span class="vcard-username d-block" itemprop="additionalName">Name 002</span>
</h1>
</div>
안녕하세요,이 구조의 이름을 검색하는 방법을 알고 싶습니다 ( 'Name 001'및 'Name 002') 몇 가지 테스트를 수행하지만 이러한 값을 구문 분석 할 수 없습니다, 어떻게 이것을합니까?
(참고 : 나쁜 영어로 죄송합니다)
XPath 를 사용하여 문서 노드를 쿼리하여 찾고있는 노드를 찾을 수 있습니다.
static void Main(string[] args)
{
var html = @"<div class=""vcard - names - container py - 3 js - sticky js - user - profile - sticky - fields "" style=""position: static; "">
< h1 class=""vcard-names"">
<span class=""vcard-fullname d-block"" itemprop=""name"">Name 001</span>
<span class=""vcard-username d-block"" itemprop=""additionalName"">Name 002</span>
</h1>
</div>";
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
var names = doc.DocumentNode.SelectNodes("//span").Select(x => x.InnerText);
foreach (var name in names)
{
Console.WriteLine(name);
}
Console.ReadLine();
}
이것은 당신을 위해 트릭을 할 수 있습니다.
HtmlDocument doc = new HtmlDocument();
doc.Load(YourHTMLFile);
foreach(HtmlNode Spans in doc.DocumentNode.SelectNodes("//span"))
{
Console.WriteLine(Spans.InnerText);
}