HTML 민첩성 팩을 사용하여 중첩 요소를 선택하는 방법

c# html-agility-pack

문제

나는 xml / html의 다음과 같은 종류가있다.

<root>
<p1>
    <l1>
        <a>something</a>
        <a>something</a>
        <a>something</a>
        <a>something</a>
    </l1>
    <l1>
        <a>something</a>
        <a>something</a>
        <a>something</a>
        <a>something</a>
    </l1>
</p1>
</root>

l1 태그 컬렉션을 선택하고 각 l1 태그에 대해 현재 l1 태그의 모든 'a'태그를 선택하려고합니다. 어떻게해야합니까 ??

수락 된 답변

HtmlAgilityPack은 XPath 선택기 를 사용하여 노드를 선택합니다.

귀하의 문제에 대한이 작동합니다 :

HtmlDocument doc = new HtmlDocument();
doc.Load(@"test.html");

var l1s = doc.DocumentNode.SelectNodes("//l1");
foreach (var item in l1s)
{
    var links = item.SelectNodes("a");
}

문서의 모든 l1 요소를 가져 오는 XPath 선택기 ( // 를 사용하여)를 사용하여 더 구체적으로 할 수 있습니다.

HtmlDocument doc = new HtmlDocument();
doc.Load(@"test.html");

var l1s = doc.DocumentNode.SelectNodes("//l1");
foreach (var item in l1s)
{
    var links = item.SelectNodes("a");
}



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