2017-05-16 22 views
0

Html Agility Packを使用して、別のHtmlタグの開始/終了位置をHTML文字列の中で見つけようとしています。Html Agility Packでhtmlタグノードの位置を見つける方法

サンプルHTML文字列:成功した私は、次のようにの開始インデックスタグから値を持つ2つの配列を取得する必要があるコードを実行した後

This is a <a href="https://en.wikipedia.org/wiki/Health">custom</a> made html string that will serve as an example for the <a href="http://stackoverflow.com">StackOverflow</a> question described above.

int[] startIndex = new int[] { 11, 124 }; 
int[] endIndex = new int[] { 68, 176 }; 

ここで、11と125は、begiをマークするインデックス位置ですタグ、および68と175は、同じタグの最後のインデックス位置を表します。

私は私が私の開始インデックスを与える要素のinnerHtml.Lenghtと一緒に私はhtml要素の終了インデックスの位置を算出することができるLinePosition値を得ることができ、HTMLの敏捷性パックHtmlNodeを使用していることを知っています。

int aNodesCount = htmlDoc.DocumentNode.SelectNodes("//a").Count; 

そして今、私はそれらのすべてをitereateし、それぞれのLinePosition値を取得する必要があります:

は、私が使用して 要素をカウントすることができました。これは私が自分が立ち往生している場所です。

答えて

-1

まあ、それはかなり簡単だったので、私は同じ問題を取得して他人の自分自身のための答えを投稿します:誰かがすべてでは説明なしであなたの答えをdownvotesとき

foreach (HtmlNode aNode in htmlDoc.DocumentNode.SelectNodes("//a")) 
{ 
    startIndex.Add(aNode.LinePosition); 
    endIndex.Add(aNode.LinePosition + aNode.OuterHtml.Length); 
} 
関連する問題