使用HTML Agility Pack获取元素的结尾?

时间:2017-03-18 01:59:44

标签: c# html html-agility-pack

我正在使用HTML Agility Pack来解析我的HTML,我需要知道HTML中每个元素的位置。 HtmlNode.StreamPosition为我提供了HTML中的位置,效果很好。但是,我也喜欢元素 end 的流位置。我可以获得StreamPosition并添加OuterHTML的长度,但这不准确,因为HTMLAgility包中的OuterHTML通常与实际HTML文本不完全匹配。

我也是使用AngleSharp的游戏,如果它更容易或更适合这个。所以基本上,我可以获得HTML元素开头的位置,如何获得结束的位置?

1 个答案:

答案 0 :(得分:0)

实际上有一个HtmlNode的私有 _endnode 字段,它是元素的结束标记。因此,您可以更改HAP源代码以公开它,也可以使用System.Reflection来访问它。

还有另一个 similar HAP issue包含一些示例代码。