0

想象一下,有人使用 JXPath 作为一种访问语言,访问一棵树,该树具有某些节点,这些节点表示在内存中保存的集合非常大或昂贵 - 例如,

.../customers[id=12345]

客户确实在数据库中,并且数量众多。我不需要人们可以想象的所有查询的全部通用性——只需要像这样的几种索引良好的查询。

有没有一种实用的方法来使用 jxpath 的自定义功能来实现这些?如果是这样,你能指出我的例子、相关文档等吗?

4

1 回答 1

1

查看JXPath 用户指南。您可以创建一个将查询作为参数的扩展函数。

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类型的第一个参数,如果你需要它可以给你上下文对象,等等。

于 2014-01-21T11:22:12.867 回答