gpt4 book ai didi

javax.xml.xquery.XQSequence.next()方法的使用及代码示例

转载 作者:知者 更新时间:2024-03-19 15:14:40 28 4
gpt4 key购买 nike

本文整理了Java中javax.xml.xquery.XQSequence.next()方法的一些代码示例,展示了XQSequence.next()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XQSequence.next()方法的具体详情如下:
包路径:javax.xml.xquery.XQSequence
类名称:XQSequence
方法名:next

XQSequence.next介绍

[英]Moves to the next item in the sequence. Calling this method on an empty sequence will return false.
[中]移动到序列中的下一项。对空序列调用此方法将返回false

代码示例

代码示例来源:origin: dsukhoroslov/bagri

@SuppressWarnings({ "rawtypes", "unchecked" })
private List getList(XQSequence xqc) throws XQException {
  ArrayList list = new ArrayList();
  boolean hasNext = xqc.isOnItem();
  if (!hasNext) {
    hasNext = xqc.next();
  }
  while (hasNext) {
    list.add(xqc.getItem());
    hasNext = xqc.next();
  }
  return list;
}

代码示例来源:origin: dsukhoroslov/bagri

public static Map<String, Object> mapFromSequence(XQSequence cs) throws XQException {
  Map<String, Object> result;
  synchronized (cs) {
    if (cs.isScrollable()) {
      cs.beforeFirst();
      result = new HashMap<>(cs.count());
    } else {
      result = new HashMap<>();
    }
    
    while (cs.next()) {
      XQSequence pair = (XQSequence) cs.getObject();
      pair.beforeFirst();
      pair.next();
      String key = pair.getAtomicValue();
      pair.next();
      Object value = pair.getObject();
      result.put(key, value);
    }
  }
    return result;
}

代码示例来源:origin: dsukhoroslov/bagri

@Override
public Item next() throws XPathException {
  try {
    if (xqs.next()) {
      return convertXQItem(xqs.getItem(), config);
    }
  } catch (XQException ex) {
    throw new XPathException(ex);
  }
  return null;
}

代码示例来源:origin: dsukhoroslov/bagri

@Override
public void write(ObjectDataOutput out, XQSequence sequence) throws IOException {
  try {
    List<XQItemAccessor> items;
    synchronized (sequence) {
      if (sequence.isScrollable()) {
        sequence.beforeFirst();
        items = new ArrayList<>(sequence.count());
      } else {
        items = new ArrayList<>();
      }
      while (sequence.next()) {
        Object value = sequence.getObject();
        if (value instanceof XQItemAccessor) {
          items.add((XQItemAccessor) value);
        } else {
          items.add(sequence.getItem());
        }
      }
    }
    logger.trace("write; writing {} items", items.size());
    out.writeObject(items);
  } catch (XQException ex) {
    throw new IOException(ex);
  }
}

代码示例来源:origin: dsukhoroslov/bagri

@Override
public void deleteDocument(String uri) throws XQException {
  String query = "declare namespace bgdb=\"http://bagridb.com/bdb\";\n" +
      "declare variable $uri external;\n" + 
      "let $uri := bgdb:remove-document($uri)\n" + 
      "return $uri\n";
  XQPreparedExpression xqpe = xqConn.prepareExpression(query);
  xqpe.bindString(new QName("uri"), uri, xqConn.createAtomicType(XQItemType.XQBASETYPE_ANYURI));
  XQSequence xqs = xqpe.executeQuery();
  String result = null;
  try {
    if (xqs.next()) {
      result = xqs.getAtomicValue();
    }
    if (!uri.equals(result)) {
      throw new XQException("got no result from bgdb:remove-document function");
    }
  } finally {
    xqpe.close();
    xqs.close();
  }
}

代码示例来源:origin: dsukhoroslov/bagri

xqpe.bindSequence(new QName("props"), xqc.createSequence(props.iterator()));
XQSequence xqs = xqpe.executeQuery();
if (xqs.next()) {
  long id = xqs.getLong();
  xqpe.close();

代码示例来源:origin: dsukhoroslov/bagri

private long storeXmlDocument(String fileName) throws XQException {
  
  String dName = "..\\..\\etc\\samples\\tpox\\";
  String xml;
  try {
    xml = readTextFile(dName + fileName);
  } catch (IOException ex) {
    throw new XQException(ex.getMessage());
  }
  String query = "declare namespace bgdb=\"http://bagridb.com/bdb\";\n" +
      "declare variable $sec external;\n\n" + 
      //"return bgdb:store-document($sec)\n";
      "for $id in bgdb:store-document($sec)\n" +
      "return $id\n";
  XQPreparedExpression xqpe = xqc.prepareExpression(query);
  xqpe.bindString(new QName("sec"), xml, xqc.createAtomicType(XQItemType.XQBASETYPE_STRING));
  XQSequence xqs = xqpe.executeQuery();
  if (xqs.next()) {
    long result = xqs.getLong();
    xqpe.close();
    return result;
  } else {
    xqpe.close();
    throw new XQException("no response from store-document function");
  }
}

代码示例来源:origin: dsukhoroslov/bagri

String result = null;
try {
  if (xqs.next()) {
    result = xqs.getAtomicValue();

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com