XPathExppression
не имеет способа сделать это. (XPathExppression.toString
также не возвращает ничего значимого для реализации JDK по умолчанию).
Если вы управляете созданием выражения, вы можете создать класс-оболочку, который сохраняет строку выражения и возвращает эту строку при вызове toString()
.
String exprString = ...;
XPathExpression expr = xpath.compile(exprString);
WrapperXPathExpr proxyExpr = new WrapperXPathExpr(expr, exprString);
и класс-оболочка может выглядеть
public class WrapperXPathExpr implements XPathExpression {
private XPathExpression expr_;
private String exprString_;
public WrapperXPathExpr(XPathExpression expr, String exprString) {
expr_ = expr;
exprString_ = exprString;
}
public Object evaluate(Object item, QName returnType) throws XPathExpressionException {
return expr_.evaluate(item, returnType);
}
...
public String toString() {
return exprString_;
}
}