使用HTML Agility Pack如何获取元素的末尾?

3
我正在使用HTML Agility Pack来解析HTML,我需要知道每个元素在HTML中的位置。HtmlNode.StreamPosition可以给出元素在HTML中的位置,非常好用。但是,我还想知道元素的结束位置。我可以获取StreamPosition并添加OuterHTML的长度,但这是不准确的,因为HTMLAgility pack的OuterHTML往往无法与实际HTML文本完全匹配。
如果AngleSharp更容易或更适合这个问题,我也可以考虑使用它。因此,基本上,我可以获取HTML元素的起始位置,但如何获取其结束位置呢?
1个回答

0

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

还有另一个类似的HAP问题,其中包含一些示例代码。


太好了,这正是我正在寻找的。目前我已经绕过去了,但我可能会回来使用反射来获取它。非常感谢。 - Garry
你不需要使用“_endnode”字段,只需使用“_outerlength”字段即可计算节点的结束位置。 - Artemious

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接