HtmlAgilityPack DIV 내의 모든 링크 가져 오기

.net c# html-agility-pack xml xpath

문제

나는 div 내부에서 2 개의 링크를 얻을 수 있기를 원합니다.

현재 하나를 선택할 수 있지만 더 많은 것이 작동하지 않는 것 같습니다.

HtmlWeb web = new HtmlWeb();
        HtmlDocument doc = web.Load(url);

HtmlNode node = doc.DocumentNode.SelectSingleNode("//div[@class='myclass']");

            if (node != null)
            {
                foreach (HtmlNode type in node.SelectNodes("//a@href"))
                {
                    recipe.type += type.InnerText;
                }
            }
            else
                recipe.type = "Error fetching type.";

이 HTML 조각에서 가져 오기 :

<div class="myclass">
<h3>Not Relevant Header</h3>
    <a href="#">This text</a>, 
    <a href="#">and this text</a>
</div>

어떤 도움을 주셔서 감사합니다, 미리 감사드립니다.

수락 된 답변

var div = doc.DocumentNode.SelectSingleNode("//div[@class='myclass']");
if(div!=null)
{
     var links = div.Descendants("a")
                    .Select(a => a.InnerText)
                    .ToList();
}

인기 답변

이 XPath 사용 :

//div[@class = 'myclass']//a

그것은 모든 자손을 잡고 의 요소 a divclass = 'myclass' .

//a@href 가 잘못된 XPath입니다.



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.