有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在jxpath中实现昂贵的查询?

假设有人使用JXPath作为访问语言访问一个树,该树具有表示集合的特定节点,这些集合在内存中的大小或存储成本都不切实际,例如

.../customers[id=12345]

客户真正存在于数据库中,有大量客户。我不需要一个人所能想象的所有查询的全部通用性——只需要像这样的几种索引良好的查询

有没有一种实用的方法可以使用jxpath的定制功能来实现这些功能?如果是的话,你能告诉我一些例子,相关的文档等吗


共 (1) 个答案

  1. # 1 楼答案

    看看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的第一个参数,如果需要,它可以为您提供上下文对象,等等