Microsoft.Html.Core.Tree.Nodes.ElementNode.ElementFromRange C# (CSharp) Method

ElementFromRange() public method

Finds deepest element node that fully encloses given range
public ElementFromRange ( ITextRange range ) : ElementNode
range ITextRange
return ElementNode
        public ElementNode ElementFromRange(ITextRange range) {
            TreeNode item = null;

            if (TextRange.Contains(this, range)) {
                item = this;

                for (int i = 0; i < this.Children.Count; i++) {
                    var child = Children[i];

                    if (range.End < child.Start)
                        break;

                    if (child.Contains(range.Start) && child.Contains(range.End)) {
                        item = (child.Children.Count > 0)
                            ? child.ElementFromRange(range)
                            : child;

                        break;
                    }
                }
            }

            return item as ElementNode;
        }