public interface XPathResult
XPathResult接口表示在特定节点上下文中评估XPath 1.0表达式的结果。由于XPath表达式的评估可能会产生各种结果类型,因此该对象使得可以发现和操作结果的类型和值。
-
Field Summary
FieldsModifier 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,则抛出异常。
-