us.codecraft.xsoup.XPathEvaluator Java Examples
The following examples show how to use
us.codecraft.xsoup.XPathEvaluator.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: XPathParser.java From xsoup with MIT License | 6 votes |
public XPathEvaluator parse() { while (!tq.isEmpty()) { Validate.isFalse(noEvalAllow, "XPath error! No operator allowed after attribute or function!" + tq); if (tq.matchChomp(OR_COMBINATOR)) { tq.consumeWhitespace(); return combineXPathEvaluator(tq.remainder()); } else if (tq.matchesAny(HIERARCHY_COMBINATORS)) { combinator(tq.consumeAny(HIERARCHY_COMBINATORS)); } else { findElements(); } tq.consumeWhitespace(); } return collectXPathEvaluator(); }
Example #2
Source File: XPathParser.java From xsoup with MIT License | 5 votes |
private XPathEvaluator collectXPathEvaluator() { if (noEvalAllow) { return new DefaultXPathEvaluator(null, elementOperator); } if (evals.size() == 1) return new DefaultXPathEvaluator(evals.get(0), elementOperator); return new DefaultXPathEvaluator(new CombiningEvaluator.And(evals), elementOperator); }
Example #3
Source File: CombingXPathEvaluator.java From xsoup with MIT License | 5 votes |
@Override public XElements evaluate(Element element) { List<XElements> xElementses = new ArrayList<XElements>(); for (XPathEvaluator xPathEvaluator : xPathEvaluators) { xElementses.add(xPathEvaluator.evaluate(element)); } return new CombiningDefaultXElements(xElementses); }
Example #4
Source File: CombingXPathEvaluator.java From xsoup with MIT License | 5 votes |
@Override public boolean hasAttribute() { for (XPathEvaluator xPathEvaluator : xPathEvaluators) { if (xPathEvaluator.hasAttribute()){ return true; } } return false; }
Example #5
Source File: XPathParser.java From xsoup with MIT License | 4 votes |
private XPathEvaluator combineXPathEvaluator(String subQuery) { XPathEvaluator xPathEvaluator = collectXPathEvaluator(); return new CombingXPathEvaluator(xPathEvaluator, parse(subQuery)); }
Example #6
Source File: XPathParser.java From xsoup with MIT License | 4 votes |
public static XPathEvaluator parse(String xpathStr) { XPathParser xPathParser = new XPathParser(xpathStr); return xPathParser.parse(); }
Example #7
Source File: CombingXPathEvaluator.java From xsoup with MIT License | 4 votes |
public CombingXPathEvaluator(List<XPathEvaluator> xPathEvaluators) { this.xPathEvaluators = xPathEvaluators; }
Example #8
Source File: CombingXPathEvaluator.java From xsoup with MIT License | 4 votes |
public CombingXPathEvaluator(XPathEvaluator... xPathEvaluators) { this.xPathEvaluators = Arrays.asList(xPathEvaluators); }
Example #9
Source File: XpathSelectorTest.java From webmagic with Apache License 2.0 | 4 votes |
@Ignore("take long time") @Test public void parserPerformanceTest() throws XPatherException { System.out.println(html.length()); HtmlCleaner htmlCleaner = new HtmlCleaner(); TagNode tagNode = htmlCleaner.clean(html); Document document = Jsoup.parse(html); long time =System.currentTimeMillis(); for (int i = 0; i < 2000; i++) { htmlCleaner.clean(html); } System.out.println(System.currentTimeMillis()-time); time =System.currentTimeMillis(); for (int i = 0; i < 2000; i++) { tagNode.evaluateXPath("//a"); } System.out.println(System.currentTimeMillis()-time); System.out.println("============="); time =System.currentTimeMillis(); for (int i = 0; i < 2000; i++) { Jsoup.parse(html); } System.out.println(System.currentTimeMillis()-time); time =System.currentTimeMillis(); for (int i = 0; i < 2000; i++) { document.select("a"); } System.out.println(System.currentTimeMillis()-time); System.out.println("============="); time =System.currentTimeMillis(); for (int i = 0; i < 2000; i++) { htmlCleaner.clean(html); } System.out.println(System.currentTimeMillis()-time); time =System.currentTimeMillis(); for (int i = 0; i < 2000; i++) { tagNode.evaluateXPath("//a"); } System.out.println(System.currentTimeMillis()-time); System.out.println("============="); XPathEvaluator compile = Xsoup.compile("//a"); time =System.currentTimeMillis(); for (int i = 0; i < 2000; i++) { compile.evaluate(document); } System.out.println(System.currentTimeMillis()-time); }