HTMLNode à partir du numéro de ligne / position dans le pack d'agilité HTML

c# html-agility-pack winforms

Question

J'essaie de trouver le HtmlNode correspondant à une position donnée de la ligne / du caractère (par exemple, la ligne 5, le caractère 12) J'ai consulté la documentation d'aide, mais je ne suis pas sûre qu'elle soit disponible.

Est-ce possible de le faire dans le pack d'agilité HTML?

MODIFIER:

Exemple de fichier HTML:

<!DOCTYPE html>
<html>
<body>

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

</body>
</html>

J'essaie d'obtenir la ligne de position 7, caractère 5 -> Café LI et la 12ème ligne, récupère le nœud.

Réponse populaire

Si vous parlez du HTML à la ligne 5, position 12, vous pourriez faire quelque chose comme ceci:

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;
}



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi