想象一下,我们使用 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/