Объект XPathResult DOM XML
- Предыдущая страница DOM XPathExpression
- Следующая страница DOM XSLTProcessor
Результат XPath запроса.
Объект XPathResult
Объект XPathResult представляет значение XPath выражения. Объекты этого типа Document.evaluate() И XPathExpression.evaluate() Возврат. XPath запрос может быть вычислен как строка, число, булево значение, узел и список узлов. Реализация XPath может возвращать список узлов несколькими способами, поэтому этот объект определяет несколько сложный API для получения фактического результата XPath запроса.
Чтобы использовать XPathResult, сначала проверьте атрибут resultType. Он сохраняет константу XPathResult. Значение этого атрибута говорит вам, какие атрибуты и методы нужно использовать для определения значения результата. Вызов методов, не определенных для текущего resultType, или чтение свойств, не определенных для него, приведет к исключению.
IE не поддерживает API XPathResult. Чтобы выполнить запрос XPath в IE, см. Node.selectNodes() И Node.selectSingleNode() .
Константы объекта XPathResult
Эти константы определяют типы, которые может вернуть запрос XPath. Атрибут resultType объекта XPathResult сохраняет одну из этих значений и используется для указания того,何种 результат сохраняется объектом. Эти константы используются вместе с Document.evaluate() и XPathExpression.evaluate() для указания ожидаемого типа результата.
Эти константы и их значения таковы:
- ANY_TYPE
- Этот значок передается в Document.evaluate() или XPathExpression.evaluate() для указания типа результата, который можно接受的. Атрибут resultType не устанавливает это значение.
- NUMBER_TYPE
- numbervalue сохраняет результат.
- STRING_TYPE
- stringvalue сохраняет результат.
- BOOLEAN_TYPE
- booleanValue сохраняет результат.
- UNORDERED_NODE_ITERATOR_TYPE
- Этот результат является несортированным набором узлов, который можно последовательно访问, повторно вызывая iterateNext() до тех пор, пока не вернется null. В процессе итерации документ не должен быть изменен.
- ORDERED_NODE_ITERATOR_TYPE
- Результатом является список узлов, расположенных в порядке свойств документа. Чтобы последовательно访问 узлы, можно повторно вызывать iterateNext() до тех пор, пока не вернется null. В процессе итерации документ не должен быть изменен.
- Результатом является список узлов с случайным доступом. Атрибут snapshotLength определяет длину списка, и метод snapshotItem() возвращает узел по заданному индексу. Узлы могут быть расположены в документе не в том порядке, в котором они появились. Так как результат является
- ORDERED_NODE_SNAPSHOT_TYPE
- Этот результат является списком узлов с случайным доступом, как UNORDERED_NODE_SNAPSHOT_TYPE, но список упорядочен по порядку документа.
- ANY_UNORDERED_NODE_TYPE
- Свойство singleNodeValue ссылается на узел, соответствующий запросу, в противном случае null. Если несколько узлов соответствуют запросу, singleNodeValue может быть любым из них.
- FIRST_ORDERED_NODE_TYPE
- singleNodeValue сохраняет первый узел в документе, соответствующий запросу, в противном случае null.
Свойства объекта XPathResult
Многие из этих свойств действительны только когда resultType сохраняет определенное значение. попытка доступа к свойствам, не определенным для текущего resultType, приведет к исключению.
- booleanValue
- Когда resultType равен BOOLEAN_TYPE, сохраняется значение результата.
- invalidIteratorState
- Если resultType является одной из констант ITERATOR_TYPE и документ был изменен,则为 true; это делает итератор无效, так как результат уже возвращен.
- numberValue
- Когда resultType равен NUMBER_TYPE, сохраняется значение результата.
- resultType
- Использование XPath для запроса возвращаемого результата. Значение этого атрибута является одним из перечисленных выше констант. Значение этого атрибута указывает, какие другие атрибуты и методы можно использовать.
- singleNodeValue
- Когда resultType равен XPathResult.ANY_UNORDERED_NODE_TYPE или XPathResult.FIRST_UNORDERED_NODE_TYPE, сохраняется значение результата.
- snapshotLength
- Когда resultType равен UNORDERED_NODE_SNAPSHOT_TYPE или ORDERED_NODE_ITERATOR_TYPE, указывается количество возвращаемых узлов. Этот атрибут используется вместе с snapshotItem().
- stringValue
- Когда resultType равен STRING_TYPE, сохраняется значение результата.
Методы объекта XPathResult
Метод | Описание |
---|---|
iterateNext() | Если resultType равен UNORDERED_NODE_ITERATOR_TYPE или ORDERED_NODE_ITERATOR_TYPE, используйте этот метод. |
snapshotItem() | Возвращает узел списка результатов, указанный индексом. Этот метод можно использовать только при resultType равен UNORDERED_NODE_SNAPSHOT_TYPE или ORDERED_NODE_SNAPSHOT_TYPE. Свойство snapshotLength используется вместе с этим методом. |
Соответствующие страницы
- Предыдущая страница DOM XPathExpression
- Следующая страница DOM XSLTProcessor