/// <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));
        }
Example #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);
        }
Example #3
0
 internal XPathResult(nsIDOMXPathResult xpathResult)
 {
     this.xpathResult = xpathResult;
 }
Example #4
0
 internal XPathResult(nsIDOMXPathResult xpathResult)
 {
     this.xpathResult = new ComPtr <nsIDOMXPathResult>(xpathResult);
 }
Example #5
0
 internal GeckoElementEnumerable(nsIDOMXPathResult xpathResult)
 {
     this.xpathResult = xpathResult;
 }
Example #6
0
 internal GeckoNodeEnumerable(nsIDOMXPathResult xpathResult)
 {
     this.xpathResult = xpathResult;
 }
Example #7
0
		internal XPathResult( nsIDOMXPathResult xpathResult )
		{
			this.xpathResult = new ComPtr<nsIDOMXPathResult>( xpathResult );
		}