Oggetto XPathResult DOM XML

Il risultato della query XPath.

L'oggetto XPathResult

L'oggetto XPathResult rappresenta il valore di un'espressione XPath. Gli oggetti di questo tipo Document.evaluate() E XPathExpression.evaluate() Ritorna. La query XPath può essere calcolata come stringa, numero, valore booleano, nodo e elenco di nodi. L'implementazione XPath può restituire l'elenco dei nodi in diversi modi, pertanto, questo oggetto definisce una API leggermente complessa per ottenere il risultato effettivo di una query XPath.

Per utilizzare un XPathResult, controlla l'attributo resultType. Questo attributo memorizza un costante XPathResult. Il valore di questo attributo ti dice quale attributo e metodo utilizzare per determinare il valore del risultato. Chiamare un metodo o leggere un attributo non definito per il resultType attuale causerebbe un'eccezione.

Internet Explorer non supporta l'API XPathResult. Per eseguire query XPath in Internet Explorer, consulta Node.selectNodes() E Node.selectSingleNode() .

Costanti dell'oggetto XPathResult

Queste costanti definiscono il tipo di risultato che una query XPath può restituire. L'attributo resultType dell'oggetto XPathResult memorizza uno di questi valori, utilizzato per specificare quale tipo di risultato l'oggetto deve salvare. Queste costanti vengono utilizzate insieme a Document.evaluate() e XPathExpression.evaluate() per specificare il tipo di risultato atteso.

Questi costanti e il loro significato sono i seguenti:

ANY_TYPE
Passa questo valore a Document.evaluate() o XPathExpression.evaluate() per specificare il tipo di risultato accettabile. L'attributo resultType non imposta questo valore.
NUMBER_TYPE
numbervalue memorizza il risultato.
STRING_TYPE
stringvalue memorizza il risultato.
BOOLEAN_TYPE
booleanValue memorizza il risultato.
UNORDERED_NODE_ITERATOR_TYPE
Questo risultato è una raccolta di nodi non ordinati, che può essere acceduta in successione chiamando iterateNext() fino a quando viene restituito null. Durante questo iterazione, il documento non deve essere modificato.
ORDERED_NODE_ITERATOR_TYPE
Il risultato è una lista di nodi ordinati secondo le proprietà del documento, che può essere acceduta in successione chiamando iterateNext() fino a quando viene restituito null. Durante questo iterazione, il documento non deve essere modificato.
UNORDERED_NODE_SNAPSHOT_TYPE
Il risultato è una lista di nodi di accesso casuale. L'attributo snapshotLength specifica la lunghezza della lista e il metodo snapshotItem() restituisce il nodo indicato dall'indice. I nodi potrebbero non apparire nell'ordine in cui compaiono nel documento. Poiché questo risultato è una “fotografia”, rimane valido anche se il documento cambia.
ORDERED_NODE_SNAPSHOT_TYPE
Questo risultato è una lista di nodi di accesso casuale, come UNORDERED_NODE_SNAPSHOT_TYPE, ma l'elenco è ordinato secondo l'ordine del documento.
ANY_UNORDERED_NODE_TYPE
L'attributo singleNodeValue fa riferimento a un nodo che corrisponde alla query, se non ci sono nodi corrispondenti, è null. Se ci sono più nodi che corrispondono alla query, singleNodeValue potrebbe essere qualsiasi nodo corrispondente.
FIRST_ORDERED_NODE_TYPE
singleNodeValue保存了文档中与查询匹配的第一个节点,如果没有匹配的节点,则为null。

Proprietà dell'oggetto XPathResult

Molte delle proprietà qui indicate sono valide solo quando resultType ha salvato un valore specifico. L'accesso a proprietà non definite per il current resultType causa un'eccezione.

booleanValue
Quando resultType è BOOLEAN_TYPE, salva il valore del risultato.
invalidIteratorState
Se resultType è una costante ITERATOR_TYPE e il documento è stato modificato, allora è true; rende l'iteratore non valido perché il risultato è già stato restituito.
numberValue
Quando resultType è NUMBER_TYPE, salva il valore del risultato.
resultType
Determina quale risultato restituisce una query XPath. Il valore è uno dei costanti elencati di seguito. Il valore di questa proprietà indica quali altre proprietà e metodi possono essere utilizzati.
singleNodeValue
Quando resultType è XPathResult.ANY_UNORDERED_NODE_TYPE o XPathResult.FIRST_UNORDERED_NODE_TYPE, salva il valore del risultato.
snapshotLength
Quando resultType è UNORDERED_NODE_SNAPSHOT_TYPE o ORDERED_NODE_ITERATOR_TYPE, specifica il numero di nodi restituiti. Questo attributo deve essere utilizzato insieme a snapshotItem().
stringValue
Quando resultType è STRING_TYPE, il valore del risultato viene salvato.

Metodi dell'oggetto XPathResult

Metodo Descrizione
iterateNext() Se resultType è UNORDERED_NODE_ITERATOR_TYPE o ORDERED_NODE_ITERATOR_TYPE, utilizzare questo metodo.
snapshotItem() Restituisce il nodo specificato dall'indice nella lista dei risultati. Questo metodo può essere utilizzato solo quando resultType è UNORDERED_NODE_SNAPSHOT_TYPE o ORDERED_NODE_SNAPSHOT_TYPE. L'attributo snapshotLength deve essere utilizzato insieme a questo metodo.

Pagine correlate

Document.evaluate() E XPathExpression.evaluate()