假设有人使用JXPath作为进入树的访问语言,该树中的某些节点代表的集合不现实地庞大或昂贵地保存在内存中,例如,

.../customers[id=12345]


客户真正位于数据库中,其中有不计其数的客户。我不需要一个人能想到的所有查询的全部通用性,只需要像这样的几种索引良好的查询即可。

是否有使用jxpath的定制功能来实现这些的实用方法?如果是这样,您能指出示例,相关文档等吗?

最佳答案

看看the JXPath User's Guide。您可以创建将查询作为参数的扩展功能。

public static NodeSet getCustomers(String query){
    List<Customer> l=getCustomersFromMyDatabase(query);
    BasicNodeSet bns=new BasicNodeSet();
    putCustomersIntoNodeSet(bns,l);
    return bns;
}


您的xpath看起来像

getCustomers('id=123')


您还可以拥有一个类型为ExpressionContext的第一个参数,该参数可以在需要时为您提供上下文对象,等等。

关于java - 如何在jxpath中实现昂贵的查询?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14691565/

10-10 03:52