'html 민첩성 팩'으로 차일즈 노드를 얻는 방법?
var Webget = new HtmlWeb();
var doc = Webget.Load(url);
HtmlNode elementbyId = doc.GetElementbyId("nome");
내부 노드를 <div id="nome">
만하면됩니다.
html :
<div id="nome">
<p> <!-- this node -->
<strong></strong>
</p>
<br/><!-- this node -->
<span><!-- this node -->
<strong></strong>
</span>
<p><!-- this node -->
<span></span>
</p>
</div>
업데이트 :
다음 코드를 작성했지만 잘못되었습니다.
var nodes = elementbyId.Descendants();
이 코드 내부의 모든 요소 가져 <div id="nome">
문제를 해결할 방법이 있습니까? 나도 몰라.
Descendants()
대신 SelectNodes("*")
사용하여 현재 요소의 직접 자식 요소를 가져옵니다. 다음은 실제 예제입니다.
var html = @"<div id='nome'>
<p> <!-- this node -->
<strong></strong>
</p>
<br/><!-- this node -->
<span><!-- this node -->
<strong></strong>
</span>
<p><!-- this node -->
<span></span>
</p>
</div>";
var doc = new HtmlDocument();
doc.LoadHtml(html);
HtmlNode elementbyId = doc.GetElementbyId("nome");
var nodes = elementbyId.SelectNodes("*");
foreach (var htmlNode in nodes)
{
Console.WriteLine(htmlNode.OuterHtml);
Console.WriteLine("-----------------------");
}
출력 :
<p> <!-- this node -->
<strong></strong>
</p>
-----------------------
<br/>
-----------------------
<span><!-- this node -->
<strong></strong>
</span>
-----------------------
<p><!-- this node -->
<span></span>
</p>
-----------------------