假设有人使用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/