public interface XPathResult
XPathResult
接口表示在特定节点上下文中评估XPath 1.0表达式的结果。由于XPath表达式的评估可能会产生各种结果类型,因此该对象使得可以发现和操作结果的类型和值。
-
Field Summary
Modifier and TypeFieldDescriptionstatic 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 TypeMethodDescriptionboolean
此布尔结果的值。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
此数字结果的值。如果DOM绑定的本机双精度类型不直接支持XPath表达式的精确IEEE 754结果,则由绑定的定义指定如何将XPath数字转换为本机绑定数字。- 抛出:
-
XPathException
- TYPE_ERR:如果resultType
不是NUMBER_TYPE
,则引发。
-
getStringValue
此字符串结果的值。- 抛出:
-
XPathException
- TYPE_ERR:如果resultType
不是STRING_TYPE
,则引发。
-
getBooleanValue
此布尔结果的值。- 抛出:
-
XPathException
- TYPE_ERR:如果resultType
不是BOOLEAN_TYPE
,则引发。
-
getSingleNodeValue
此单个节点结果的值,可能为null
。- 抛出:
-
XPathException
- TYPE_ERR:如果resultType
不是ANY_UNORDERED_NODE_TYPE
或FIRST_ORDERED_NODE_TYPE
,则引发。
-
getInvalidIteratorState
boolean getInvalidIteratorState()表示迭代器已变为无效。如果resultType
为UNORDERED_NODE_ITERATOR_TYPE
或ORDERED_NODE_ITERATOR_TYPE
,且自从返回此结果以来文档已被修改,则为真。 -
getSnapshotLength
结果快照中的节点数。对于快照项索引的有效值为0
到snapshotLength-1
(包括)。- 抛出:
-
XPathException
- TYPE_ERR:如果resultType
不是UNORDERED_NODE_SNAPSHOT_TYPE
或ORDERED_NODE_SNAPSHOT_TYPE
,则引发。
-
iterateNext
迭代并从节点集返回下一个节点,如果没有更多节点,则返回null
。- 返回:
- 返回下一个节点。
- 抛出:
-
XPathException
- TYPE_ERR:如果resultType
不是UNORDERED_NODE_ITERATOR_TYPE
或ORDERED_NODE_ITERATOR_TYPE
,则引发。 -
DOMException
- INVALID_STATE_ERR:自从返回结果以来,文档已发生变化。
-
snapshotItem
返回快照集合中的第index
项。如果index
大于或等于列表中的节点数,则此方法返回null
。与迭代器结果不同,快照不会变为无效,但如果快照被修改,则可能不对应当前文档。- 参数:
-
index
- 快照集合中的索引。 - 返回:
-
在
NodeList
中第index
个位置的节点,如果该索引无效则返回null
。 - 抛出:
-
XPathException
- TYPE_ERR: 如果resultType
不是UNORDERED_NODE_SNAPSHOT_TYPE
或ORDERED_NODE_SNAPSHOT_TYPE
,则抛出异常。
-