【问题标题】:Exception when getting result of xquery获取 xquery 的结果时出现异常
【发布时间】:2016-05-11 08:58:18
【问题描述】:

我想在 java 中执行简单的 xquery。但我得到了例外

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is javax.xml.xquery.XQException:
  XQJFOS017 - Can not call getItemType() when Forward Only Sequences is not positioned on an item.
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

我的依赖

<groupId>org.basex</groupId>
<artifactId>basex</artifactId>
<version>7.3.1</version>

<groupId>net.xqj</groupId>
<artifactId>basex-xqj</artifactId>
<version>1.4.0</version>

我的豆子

@Bean(name = "baseXDataSource")
public XQDataSource xqDataSource() throws XQException {
    XQDataSource ds = new BaseXXQDataSource();
    ds.setProperty("serverName", "localhost");
    ds.setProperty("port", "1984");
    ds.setProperty("user", "admin");
    ds.setProperty("password", "admin");
    ds.setProperty("databaseName", "2016");
    return ds;
}

我的代码

XQConnection conn = baseXDataSource.getConnection("admin", "admin");
        XQPreparedExpression expr = conn.prepareExpression("123");
        XQResultSequence result = expr.executeQuery();
        return result.getItemType().toString();

我尝试执行的任何 xquery 都会给出相同的结果。 怎么了?谢谢!

【问题讨论】:

    标签: java spring xquery basex xqj


    【解决方案1】:

    在 XQJ 中,XQResultSequence 就像是集合和迭代器的组合。 getItemType() 之类的方法适用于集合中“当前位置”的项目。当前位置最初是“在第一项之前”。要查找集合中第一项的项类型,首先需要通过调用next() 方法将集合定位在第一项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-26
      • 1970-01-01
      • 2017-01-03
      • 1970-01-01
      • 2011-11-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多