模块  jdk.xml.dom
软件包  org.w3c.dom.xpath

Interface XPathResult


  • public interface XPathResult
    XPathResult接口表示在特定节点的上下文中评估XPath 1.0表达式的结果。 由于评估XPath表达式可能会导致各种结果类型,因此该对象可以发现和操作结果的类型和值。

    另见Document Object Model (DOM) Level 3 XPath Specification

    • 字段详细信息

      • ANY_TYPE

        static final short ANY_TYPE
        此代码不代表特定类型。 对XPath表达式的评估永远不会产生此类型。 如果请求此类型,则评估将返回表达式评估自然产生的任何类型。
        如果自然结果是节点组时ANY_TYPE被请求,然后UNORDERED_NODE_ITERATOR_TYPE总是得到的类型。 必须明确请求节点集的任何其他表示。
        另请参见:
        常数字段值
      • NUMBER_TYPE

        static final short NUMBER_TYPE
        结果是由...定义的数字。 文件修改不会使数字无效,但可能意味着重新评估不会产生相同的数字。
        另请参见:
        常数字段值
      • STRING_TYPE

        static final short STRING_TYPE
        结果是由...定义的字符串。 文档修改不会使字符串无效,但可能意味着该字符串不再对应于当前文档。
        另请参见:
        常数字段值
      • BOOLEAN_TYPE

        static final short BOOLEAN_TYPE
        结果是一个由...定义的布尔值。 文档修改不会使布尔值无效,但可能意味着重新评估不会产生相同的布尔值。
        另请参见:
        常数字段值
      • UNORDERED_NODE_ITERATOR_TYPE

        static final short UNORDERED_NODE_ITERATOR_TYPE
        结果是由定义的节点集将被迭代访问,这可能不会以特定顺序产生节点。 文档修改使迭代无效。
        如果结果是节点集并且请求了ANY_TYPE则返回此默认类型。
        另请参见:
        常数字段值
      • ORDERED_NODE_ITERATOR_TYPE

        static final short ORDERED_NODE_ITERATOR_TYPE
        结果是定义的节点集将被迭代访问,这将产生文档排序的节点。 文档修改使迭代无效。
        另请参见:
        常数字段值
      • UNORDERED_NODE_SNAPSHOT_TYPE

        static final short UNORDERED_NODE_SNAPSHOT_TYPE
        结果是由定义的节点集将作为可能不按特定顺序排列的节点的快照列表来访问。 文档修改不会使快照无效,但可能意味着重新评估不会产生相同的快照,并且快照中的节点可能已被更改,移动或从文档中删除。
        另请参见:
        常数字段值
      • ORDERED_NODE_SNAPSHOT_TYPE

        static final short ORDERED_NODE_SNAPSHOT_TYPE
        结果是定义的节点集将作为原始文档顺序的节点的快照列表进行访问。 文档修改不会使快照无效,但可能意味着重新评估不会产生相同的快照,并且快照中的节点可能已被更改,移动或从文档中删除。
        另请参见:
        常数字段值
      • ANY_UNORDERED_NODE_TYPE

        static final short ANY_UNORDERED_NODE_TYPE
        结果是由定义的节点集并将作为单个节点访问,如果节点集为空,则可以是null 文档修改不会使节点无效,但可能意味着结果节点不再对应于当前文档。 这是一种允许优化的便利,因为一旦找到结果集中的任何节点,实现就可以停止。
        如果实际结果中有多个节点,则返回的单个节点可能不是文档顺序中的第一个节点。
        另请参见:
        常数字段值
      • FIRST_ORDERED_NODE_TYPE

        static final short FIRST_ORDERED_NODE_TYPE
        结果是由定义的节点集并将作为单个节点访问,如果节点集为空,则可以是null 文档修改不会使节点无效,但可能意味着结果节点不再对应于当前文档。 这是一种允许优化的便利,因为一旦找到了结果集的文档顺序中的第一个节点,就可以停止实现。
        如果实际结果中有多个节点,则返回的单个节点将是文档顺序中的第一个节点。
        另请参见:
        常数字段值
    • 方法详细信息

      • getResultType

        short getResultType()
        表示此结果类型的代码,由类型常量定义。
      • getNumberValue

        double getNumberValue()
                       throws XPathException
        此数字的结果值。 如果DOM绑定的本机double类型不直接支持XPath表达式的确切IEEE 754结果,则由绑定绑定定义以指定如何将XPath编号转换为本机绑定编号。
        异常
        XPathException - TYPE_ERR:如果 resultType不是 NUMBER_TYPENUMBER_TYPE
      • getStringValue

        String getStringValue()
                       throws XPathException
        此字符串结果的值。
        异常
        XPathException - TYPE_ERR:如果 resultType不是 STRING_TYPESTRING_TYPE
      • getBooleanValue

        boolean getBooleanValue()
                         throws XPathException
        此布尔结果的值。
        异常
        XPathException - TYPE_ERR:如果 resultType不是 BOOLEAN_TYPEBOOLEAN_TYPE
      • getSingleNodeValue

        Node getSingleNodeValue()
                         throws XPathException
        此单个节点结果的值,可能是 null
        异常
        XPathException - TYPE_ERR:如果 resultType不是 ANY_UNORDERED_NODE_TYPEFIRST_ORDERED_NODE_TYPE
      • getInvalidIteratorState

        boolean getInvalidIteratorState()
        表示迭代器已变为无效。 如果resultTypeUNORDERED_NODE_ITERATOR_TYPEORDERED_NODE_ITERATOR_TYPEUNORDERED_NODE_ITERATOR_TYPE True,并且自返回此结果后文档已被修改。
      • getSnapshotLength

        int getSnapshotLength()
                       throws XPathException
        结果快照中的节点数。 snapshotItem索引的有效值为0snapshotLength-1含)。
        异常
        XPathException - TYPE_ERR:如果 resultType不是 UNORDERED_NODE_SNAPSHOT_TYPEORDERED_NODE_SNAPSHOT_TYPE
      • iterateNext

        Node iterateNext()
                  throws XPathException,
                         DOMException
        如果没有更多节点,则迭代并返回节点集中的下一个节点或 null
        结果
        返回下一个节点。
        异常
        XPathException - TYPE_ERR:如果 resultType不是 UNORDERED_NODE_ITERATOR_TYPEORDERED_NODE_ITERATOR_TYPE
        DOMException - INVALID_STATE_ERR:自返回结果以来,文档已发生变异。
      • snapshotItem

        Node snapshotItem​(int index)
                   throws XPathException
        返回快照集合中的index项。 如果index大于或等于列表中的节点数,则此方法返回null 与迭代器结果不同,快照不会变为无效,但如果它被突变,则可能与当前文档不对应。
        参数
        index - 快照集合的索引。
        结果
        位于 index位置的 NodeList ,如果不是有效索引,则为 null
        异常
        XPathException - TYPE_ERR:如果 resultType不是 UNORDERED_NODE_SNAPSHOT_TYPEORDERED_NODE_SNAPSHOT_TYPE