/// <summary>
        /// Get GeckoNodes from give xpath expression.
        /// </summary>
        /// <param name="xpath"></param>
        /// <returns></returns>
        public IEnumerable <GeckoElement> GetElements(string xpath)
        {
            nsIDOMXPathEvaluator  evaluator = Xpcom.CreateInstance <nsIDOMXPathEvaluator>("@mozilla.org/dom/xpath-evaluator;1");
            nsIDOMNode            node      = (nsIDOMNode)this.DomObject;
            nsIDOMXPathNSResolver resolver  = evaluator.CreateNSResolver(node);
            nsIDOMXPathResult     result    = (nsIDOMXPathResult)evaluator.Evaluate(new nsAString(xpath), node, resolver, 0, null);

            return(new GeckoElementEnumerable(result));
        }
Пример #2
0
        private nsIDOMXPathResult EvaluateXPathInternal(string xpath)
        {
            var                   evaluator = Xpcom.CreateInstance2 <nsIDOMXPathEvaluator>(Contracts.XPathEvaluator);
            nsIDOMNode            node      = DomObject;
            nsIDOMXPathNSResolver resolver  = evaluator.Instance.CreateNSResolver(node);
            nsIDOMXPathResult     result    =
                ( nsIDOMXPathResult )evaluator.Instance.Evaluate(new nsAString(xpath), node, resolver, 0, null);

            return(result);
        }