Module jdk.xml.dom

Interface XPathResult


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

另请参阅文档对象模型(DOM)Level 3 XPath规范

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final short
    此代码不代表特定类型。
    static final short
    结果是由定义的节点集,并将作为单个节点访问,如果节点集为空,则可能为null
    static final short
    结果是由定义的布尔值。
    static final short
    结果是由定义的节点集,并将作为单个节点访问,如果节点集为空,则可能为null
    static final short
    结果是由定义的数字。
    static final short
    结果是由定义的节点集,并将被迭代访问,这将产生按文档顺序排列的节点。
    static final short
    结果是由定义的节点集,并将作为原始文档顺序的快照节点列表访问。
    static final short
    结果是由定义的字符串。
    static final short
    结果是由定义的节点集,并将被迭代访问,可能不按特定顺序产生节点。
    static final short
    结果是由定义的节点集,并将作为可能不按特定顺序的快照节点列表访问。
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    此布尔结果的值。
    boolean
    表示迭代器已变为无效。
    double
    此数字结果的值。
    short
    代表此结果类型的代码,由类型常量定义。
    此单个节点结果的值,可能为null
    int
    结果快照中的节点数。
    此字符串结果的值。
    迭代并从节点集返回下一个节点,如果没有更多节点,则返回null
    snapshotItem(int index)
    返回快照集合中的第index项。
  • Field Details

    • 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。文档修改不会使节点无效,但可能意味着结果节点不再对应当前文档。这是一种便利,允许优化,因为实现可以在找到结果集中按文档顺序的第一个节点后停止。
      如果实际结果中有多个节点,则返回的单个节点将是文档顺序中的第一个节点。
      另请参阅:
  • Method Details

    • getResultType

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

      double getNumberValue() throws XPathException
      此数字结果的值。如果DOM绑定的本机双精度类型不直接支持XPath表达式的精确IEEE 754结果,则由绑定的定义指定如何将XPath数字转换为本机绑定数字。
      抛出:
      XPathException - TYPE_ERR:如果resultType不是NUMBER_TYPE,则引发。
    • getStringValue

      String getStringValue() throws XPathException
      此字符串结果的值。
      抛出:
      XPathException - TYPE_ERR:如果resultType不是STRING_TYPE,则引发。
    • getBooleanValue

      boolean getBooleanValue() throws XPathException
      此布尔结果的值。
      抛出:
      XPathException - TYPE_ERR:如果resultType不是BOOLEAN_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_TYPE,且自从返回此结果以来文档已被修改,则为真。
    • getSnapshotLength

      int getSnapshotLength() throws XPathException
      结果快照中的节点数。对于快照项索引的有效值为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 - 快照集合中的索引。
      返回:
      NodeList中第index个位置的节点,如果该索引无效则返回null
      抛出:
      XPathException - TYPE_ERR: 如果resultType不是UNORDERED_NODE_SNAPSHOT_TYPEORDERED_NODE_SNAPSHOT_TYPE,则抛出异常。