当前位置: 首页>>代码示例>>Java>>正文


Java XObject.nodeset方法代码示例

本文整理汇总了Java中com.sun.org.apache.xpath.internal.objects.XObject.nodeset方法的典型用法代码示例。如果您正苦于以下问题:Java XObject.nodeset方法的具体用法?Java XObject.nodeset怎么用?Java XObject.nodeset使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.sun.org.apache.xpath.internal.objects.XObject的用法示例。


在下文中一共展示了XObject.nodeset方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: selectNodeIterator

import com.sun.org.apache.xpath.internal.objects.XObject; //导入方法依赖的package包/类
/**
 *  Use an XPath string to select a nodelist.
 *  XPath namespace prefixes are resolved from the namespaceNode.
 *
 *  @param contextNode The node to start searching from.
 *  @param str A valid XPath string.
 *  @param namespaceNode The node from which prefixes in the XPath will be resolved to namespaces.
 *  @return A NodeIterator, should never be null.
 *
 * @throws TransformerException
 */
public static NodeIterator selectNodeIterator(
        Node contextNode, String str, Node namespaceNode)
          throws TransformerException
{

  // Execute the XPath, and have it return the result
  XObject list = eval(contextNode, str, namespaceNode);

  // Have the XObject return its result as a NodeSetDTM.
  return list.nodeset();
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:23,代码来源:XPathAPI.java

示例2: getResultAsType

import com.sun.org.apache.xpath.internal.objects.XObject; //导入方法依赖的package包/类
private Object getResultAsType( XObject resultObject, QName returnType )
    throws javax.xml.transform.TransformerException {
    // XPathConstants.STRING
    if ( returnType.equals( XPathConstants.STRING ) ) {
        return resultObject.str();
    }
    // XPathConstants.NUMBER
    if ( returnType.equals( XPathConstants.NUMBER ) ) {
        return new Double ( resultObject.num());
    }
    // XPathConstants.BOOLEAN
    if ( returnType.equals( XPathConstants.BOOLEAN ) ) {
        return new Boolean( resultObject.bool());
    }
    // XPathConstants.NODESET ---ORdered, UNOrdered???
    if ( returnType.equals( XPathConstants.NODESET ) ) {
        return resultObject.nodelist();
    }
    // XPathConstants.NODE
    if ( returnType.equals( XPathConstants.NODE ) ) {
        NodeIterator ni = resultObject.nodeset();
        //Return the first node, or null
        return ni.nextNode();
    }
    String fmsg = XSLMessages.createXPATHMessage(
            XPATHErrorResources.ER_UNSUPPORTED_RETURN_TYPE,
            new Object[] { returnType.toString()});
    throw new IllegalArgumentException( fmsg );
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:30,代码来源:XPathImpl.java

示例3: getResultAsType

import com.sun.org.apache.xpath.internal.objects.XObject; //导入方法依赖的package包/类
private Object getResultAsType( XObject resultObject, QName returnType )
    throws javax.xml.transform.TransformerException {
    // XPathConstants.STRING
    if ( returnType.equals( XPathConstants.STRING ) ) {
        return resultObject.str();
    }
    // XPathConstants.NUMBER
    if ( returnType.equals( XPathConstants.NUMBER ) ) {
        return new Double ( resultObject.num());
    }
    // XPathConstants.BOOLEAN
    if ( returnType.equals( XPathConstants.BOOLEAN ) ) {
        return new Boolean( resultObject.bool());
    }
    // XPathConstants.NODESET ---ORdered, UNOrdered???
    if ( returnType.equals( XPathConstants.NODESET ) ) {
        return resultObject.nodelist();
    }
    // XPathConstants.NODE
    if ( returnType.equals( XPathConstants.NODE ) ) {
        NodeIterator ni = resultObject.nodeset();
        //Return the first node, or null
        return ni.nextNode();
    }
    // If isSupported check is already done then the execution path
    // shouldn't come here. Being defensive
    String fmsg = XSLMessages.createXPATHMessage(
            XPATHErrorResources.ER_UNSUPPORTED_RETURN_TYPE,
            new Object[] { returnType.toString()});
    throw new IllegalArgumentException ( fmsg );
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:32,代码来源:XPathExpressionImpl.java

示例4: selectNodeIterator

import com.sun.org.apache.xpath.internal.objects.XObject; //导入方法依赖的package包/类
/**
 *  Use an XPath string to select a nodelist.
 *  XPath namespace prefixes are resolved from the namespaceNode.
 *
 *  @param contextNode The node to start searching from.
 *  @param str A valid XPath string.
 *  @param namespaceNode The node from which prefixes in the XPath will be resolved to namespaces.
 *  @return A NodeIterator, should never be null.
 *
 * @throws TransformerException
 */
public  NodeIterator selectNodeIterator(
        Node contextNode, String str, Node namespaceNode)
          throws TransformerException
{

  // Execute the XPath, and have it return the result
  XObject list = eval(contextNode, str, namespaceNode);

  // Have the XObject return its result as a NodeSetDTM.
  return list.nodeset();
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:23,代码来源:CachedXPathAPI.java

示例5: getResult

import com.sun.org.apache.xpath.internal.objects.XObject; //导入方法依赖的package包/类
/**
 * Read the XObject and set values in accordance with the result type
 * @param resultObject  internal XPath result object
 * @throws TransformerException  if there is an error reading the XPath
 * result.
 */
private void getResult(XObject resultObject) throws TransformerException {
    switch (resultType) {
        case XObject.CLASS_BOOLEAN:
            boolValue = resultObject.bool();
            mapToType = XPathResultType.BOOLEAN;
            break;
        case XObject.CLASS_NUMBER:
            numValue = resultObject.num();
            mapToType = XPathResultType.NUMBER;
            break;
        case XObject.CLASS_STRING:
            strValue = resultObject.str();
            mapToType = XPathResultType.STRING;
            break;
        case XObject.CLASS_NODESET:
            mapToType = XPathResultType.NODESET;
            nodeList = resultObject.nodelist();
            break;
        case XObject.CLASS_RTREEFRAG:  //NODE
            mapToType = XPathResultType.NODE;
            NodeIterator ni = resultObject.nodeset();
            //Return the first node, or null
            node = ni.nextNode();
            break;
    }
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:33,代码来源:XPathResultImpl.java

示例6: getValue

import com.sun.org.apache.xpath.internal.objects.XObject; //导入方法依赖的package包/类
/**
 * Read the internal result object and return the value in accordance with
 * the type specified.
 *
 * @param <T> The expected class type.
 * @param resultObject internal XPath result object
 * @param type the class type
 * @return The value of the result, null in case of unexpected type.
 * @throws TransformerException  if there is an error reading the XPath
 * result.
 */
static <T> T getValue(XObject resultObject, Class<T> type) throws TransformerException {
    Objects.requireNonNull(type);
    if (type.isAssignableFrom(XPathEvaluationResult.class)) {
        return type.cast(new XPathResultImpl<T>(resultObject, type));
    }
    int resultType = classToInternalType(type);
    switch (resultType) {
        case XObject.CLASS_BOOLEAN:
            return type.cast(resultObject.bool());
        case XObject.CLASS_NUMBER:
            if (Double.class.isAssignableFrom(type)) {
                return type.cast(resultObject.num());
            } else if (Integer.class.isAssignableFrom(type)) {
                return type.cast((int)resultObject.num());
            } else if (Long.class.isAssignableFrom(type)) {
                return type.cast((long)resultObject.num());
            }
            /*
              This is to suppress warnings. By the current specification,
            among numeric types, only Double, Integer and Long are supported.
            */
            break;
        case XObject.CLASS_STRING:
            return type.cast(resultObject.str());
        case XObject.CLASS_NODESET:
            XPathNodes nodeSet = new XPathNodesImpl(resultObject.nodelist(),
                    Node.class);
            return type.cast(nodeSet);
        case XObject.CLASS_RTREEFRAG:  //NODE
            NodeIterator ni = resultObject.nodeset();
            //Return the first node, or null
            return type.cast(ni.nextNode());
    }

    return null;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:48,代码来源:XPathResultImpl.java

示例7: getResultAsType

import com.sun.org.apache.xpath.internal.objects.XObject; //导入方法依赖的package包/类
/**
 * Get result depending on the QName type defined in XPathConstants
 * @param resultObject the result of an evaluation
 * @param returnType the return type
 * @return result per the return type
 * @throws TransformerException if the result can not be converted to
 * the specified return type.
 */
Object getResultAsType(XObject resultObject, QName returnType)
    throws TransformerException {
    // XPathConstants.STRING
    if (returnType.equals(XPathConstants.STRING)) {
        return resultObject.str();
    }
    // XPathConstants.NUMBER
    if (returnType.equals(XPathConstants.NUMBER)) {
        return resultObject.num();
    }
    // XPathConstants.BOOLEAN
    if (returnType.equals(XPathConstants.BOOLEAN)) {
        return resultObject.bool();
    }
    // XPathConstants.NODESET ---ORdered, UNOrdered???
    if (returnType.equals(XPathConstants.NODESET)) {
        return resultObject.nodelist();
    }
    // XPathConstants.NODE
    if (returnType.equals(XPathConstants.NODE)) {
        NodeIterator ni = resultObject.nodeset();
        //Return the first node, or null
        return ni.nextNode();
    }
    // If isSupported check is already done then the execution path
    // shouldn't come here. Being defensive
    String fmsg = XSLMessages.createXPATHMessage(
            XPATHErrorResources.ER_UNSUPPORTED_RETURN_TYPE,
            new Object[] { returnType.toString()});
    throw new IllegalArgumentException (fmsg);
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:40,代码来源:XPathImplUtil.java


注:本文中的com.sun.org.apache.xpath.internal.objects.XObject.nodeset方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。