Objeto XPathResult del DOM XML
- Página anterior DOM XPathExpression
- Página siguiente DOM XSLTProcessor
El resultado de la consulta XPath.
El objeto XPathResult
El objeto XPathResult representa el valor de una expresión XPath. Este tipo de objeto se crea Document.evaluate() Y XPathExpression.evaluate() Regresar. La consulta XPath se puede calcular como cadena de caracteres, número, valor booleano, nodo y lista de nodos. La implementación de XPath puede retornar la lista de nodos de varias maneras, por lo que este objeto define una API ligeramente más compleja para obtener el resultado real de una consulta XPath.
Para usar un XPathResult, primero verifique la propiedad resultType. Esta propiedad guardará una constante XPathResult. El valor de esta propiedad le dirá qué propiedades y métodos debe usar para determinar el valor del resultado. Llamar a métodos o leer propiedades no definidos para el resultType actual causará una excepción.
IE no admite el API XPathResult. Para ejecutar consultas XPath en IE, consulte Node.selectNodes() Y Node.selectSingleNode() .
Constantes del objeto XPathResult
La siguiente constante define el tipo que puede devolver una consulta XPath. La propiedad resultType del objeto XPathResult guarda uno de estos valores, para especificar qué tipo de objeto guardar en el objeto. Estas constantes se utilizan junto con Document.evaluate() y XPathExpression.evaluate() para especificar el tipo de resultado esperado.
Estos constantes y su significado son los siguientes:
- ANY_TYPE
- Pase este valor a Document.evaluate() o XPathExpression.evaluate() para especificar el tipo de resultado aceptable. La propiedad resultType no establece este valor.
- NUMBER_TYPE
- numbervalue guarda el resultado.
- STRING_TYPE
- stringvalue guarda el resultado.
- BOOLEAN_TYPE
- booleanValue guarda el resultado.
- UNORDERED_NODE_ITERATOR_TYPE
- Este resultado es un conjunto de nodos sin orden, que se puede acceder sucesivamente llamando a iterateNext() hasta que se devuelva null. Durante este proceso de iteración, el documento no debe ser modificado.
- ORDERED_NODE_ITERATOR_TYPE
- El resultado es una lista de nodos ordenados según las propiedades del documento, que se puede acceder sucesivamente llamando a iterateNext() hasta que se devuelva null. Durante este proceso de iteración, el documento no debe ser modificado.
- UNORDERED_NODE_SNAPSHOT_TYPE
- El resultado es una lista de nodos de acceso aleatorio. La propiedad snapshotLength especifica la longitud de la lista, y el método snapshotItem() devuelve el nodo en el índice especificado. Los nodos pueden no coincidir con el orden en que aparecen en el documento. Ya que este resultado es un "snapshot", incluso si el documento cambia, sigue siendo válido.
- ORDERED_NODE_SNAPSHOT_TYPE
- Este resultado es una lista de nodos de acceso aleatorio, como UNORDERED_NODE_SNAPSHOT_TYPE, pero la lista está ordenada según el orden del documento.
- ANY_UNORDERED_NODE_TYPE
- La propiedad singleNodeValue hace referencia a un nodo que coincide con la consulta, o null si no hay nodos coincidentes. Si hay múltiples nodos que coinciden con la consulta, singleNodeValue puede ser cualquier nodo coincidente.
- FIRST_ORDERED_NODE_TYPE
- singleNodeValue guarda el primer nodo en el documento que coincide con la consulta, o null si no hay nodos coincidentes.
Atributos de instancia de XPathResult
Muchas de las propiedades aquí solo son válidas cuando resultType guarda un valor específico. Acceder a propiedades no definidas para el resultType actual causará una excepción.
- booleanValue
- Cuando resultType sea BOOLEAN_TYPE, guarda el valor del resultado.
- invalidIteratorState
- Si resultType es una constante de ITERATOR_TYPE y el documento ha sido modificado,则为 true; esto hace que el iterador sea inválido porque ya se ha devuelto el resultado.
- numberValue
- Cuando resultType sea NUMBER_TYPE, guarda el valor del resultado.
- resultType
- Usa XPath para consultar qué tipo de resultado devuelve. Su valor es uno de los constantes enumerados anteriormente. El valor de esta propiedad indica qué otras propiedades y métodos puedes usar.
- singleNodeValue
- Cuando resultType sea XPathResult.ANY_UNORDERED_NODE_TYPE o XPathResult.FIRST_UNORDERED_NODE_TYPE, guarda el valor del resultado.
- snapshotLength
- Cuando resultType sea UNORDERED_NODE_SNAPSHOT_TYPE o ORDERED_NODE_ITERATOR_TYPE, especifica el número de nodos devueltos. Se utiliza esta propiedad junto con snapshotItem().
- stringValue
- Cuando resultType sea STRING_TYPE, guarda el valor del resultado.
Métodos del objeto XPathResult
Método | Descripción |
---|---|
iterateNext() | Si resultType es UNORDERED_NODE_ITERATOR_TYPE o ORDERED_NODE_ITERATOR_TYPE, usa este método. |
snapshotItem() | Devuelve el nodo especificado en la lista de resultados. Este método solo se puede usar cuando resultType es UNORDERED_NODE_SNAPSHOT_TYPE o ORDERED_NODE_SNAPSHOT_TYPE. La propiedad snapshotLength se usa junto con este método. |
Páginas relacionadas
- Página anterior DOM XPathExpression
- Página siguiente DOM XSLTProcessor