HTML 민첩성 팩의 라인 / 위치 번호의 HTMLNode

c# html-agility-pack winforms

문제

주어진 Line / Character 위치 (예 : Line 5, character 12)에 해당하는 HtmlNode를 찾으려고합니다. 도움말 문서를 둘러 보았지만 사용 가능한지 확실하지 않습니다.

이것이 Html Agility Pack에서 가능합니까?

편집하다:

샘플 HTML 파일 :

<!DOCTYPE html>
<html>
<body>

<h4>An Ordered List:</h4>
<ol>
  <li>Coffee</li>
  <li>Tea</li>
  <li>Milk</li>
</ol>

</body>
</html>

나는 위치 선 7, 문자 5 -> 커피 LI와 12 선을 얻으려고하고있다. 다시 노드를 얻는다.

인기 답변

5 행 12 열의 HTML에 대해 말하면 다음과 같이 할 수 있습니다.

private void button1_Click_1(object sender, EventArgs e)
{
    HtmlAgilityPack.HtmlWeb web = new HtmlAgilityPack.HtmlWeb();
    HtmlAgilityPack.HtmlDocument doc;
    doc =  web.Load("http://slashdot.org");


    var node = CheckLine(doc.DocumentNode);
    if (node != null)
        MessageBox.Show(node.OuterHtml);
}

private HtmlAgilityPack.HtmlNode CheckLine(HtmlAgilityPack.HtmlNode node)
{
    if (node.Line == 5 && node.LinePosition < 12 && ((node.LinePosition + node.OuterHtml.Length) > 12))
        return node;

    foreach (var n in node.ChildNodes)
    {
        var val = CheckLine(n);
        if (val != null)
            return val;
    }
    return null;
}



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