/// <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)); }
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); }
internal XPathResult(nsIDOMXPathResult xpathResult) { this.xpathResult = xpathResult; }
internal XPathResult(nsIDOMXPathResult xpathResult) { this.xpathResult = new ComPtr <nsIDOMXPathResult>(xpathResult); }
internal GeckoElementEnumerable(nsIDOMXPathResult xpathResult) { this.xpathResult = xpathResult; }
internal GeckoNodeEnumerable(nsIDOMXPathResult xpathResult) { this.xpathResult = xpathResult; }
internal XPathResult( nsIDOMXPathResult xpathResult ) { this.xpathResult = new ComPtr<nsIDOMXPathResult>( xpathResult ); }