Package org.htmlcleaner
Class XPather
java.lang.Object
org.htmlcleaner.XPather
Utility for searching cleaned document tree with XPath expressions.
Examples of supported axes:
- //div//a
- //div//a[@id][@class]
- /body/*[1]/@type
- //div[3]//a[@id][@href='r/n4']
- //div[last() >= 4]//./div[position() = last()])[position() > 22]//li[2]//a
- //div[2]/@*[2]
- data(//div//a[@id][@class])
- //p/last()
- //body//div[3][@class]//span[12.2<position()]/@id
- data(//a['v' < @id])
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Collection
evaluateAgainst
(Collection object, int from, int to, boolean isRecursive, int position, int last, boolean isFilterContext, Collection filterSource) Object[]
evaluateAgainstNode
(TagNode node) Main public method for this class - a way to execute XPath expression against specified TagNode instance.protected Collection
evaluateFunction
(Collection source, int from, int to, int position, int last, boolean isFilterContext) Evaluates specified function.protected boolean
evaluateLogic
(Collection first, Collection second, String logicOperator) Evaluates logic operation on two collections.protected Collection
filterByCondition
(Collection source, int from, int to) Filter nodes satisfying the condition
-
Constructor Details
-
XPather
Constructor - creates XPather instance with specified XPath expression.- Parameters:
expression
-
-
-
Method Details
-
evaluateAgainstNode
Main public method for this class - a way to execute XPath expression against specified TagNode instance.- Parameters:
node
-- Throws:
XPatherException
-
evaluateAgainst
protected Collection evaluateAgainst(Collection object, int from, int to, boolean isRecursive, int position, int last, boolean isFilterContext, Collection filterSource) throws XPatherException - Throws:
XPatherException
-
evaluateFunction
protected Collection evaluateFunction(Collection source, int from, int to, int position, int last, boolean isFilterContext) throws XPatherException Evaluates specified function. Currently, following XPath functions are supported: last, position, text, count, data- Parameters:
source
-from
-to
-position
-last
-- Returns:
- Collection as the result of evaluation.
- Throws:
XPatherException
-
filterByCondition
Filter nodes satisfying the condition- Parameters:
source
-from
-to
-- Throws:
XPatherException
-
evaluateLogic
Evaluates logic operation on two collections.- Parameters:
first
-second
-logicOperator
-- Returns:
- Result of logic operation
-