Procedura guidata dell'espressione XPath - Opzioni di riferimento sintassi

È possibile utilizzare le opzioni di riferimento sintassi per specificare gli operatori e il percorso di posizione per l'espressione XPath. Gli operatori vengono utilizzati per manipolare i valori numerici, i percorsi di combinazione e per confrontare i valori di stringa o numerici. Una percorso di posizione descrive la posizione di un nodo o di un gruppi di nodi in un documento XML.

Ci sono due tipi diversi di percorsi di posizione - assoluto e relativo. I percorsi assoluti iniziano ad un punto di riferimento fisso - il nodo principale. I percorsi relativi iniziano ad un punto variabile - un nodo di contesto.

Un percorso di posizione restituisce un insieme di nodi che è una raccolta di nodi (tutte le parti di un documento XML, come un elemento, un attributo, uno spazio nome o un commento). I percorsi di posizione sono formati da procedure di posizionamento. Ogni passo ha due parti:

Una procedura di posizionamento appare simile a quanto segue:

asse: verifica-nodo

Le procedure di posizionamento possono essere combinati separandoli con le barre retroverse. Ogni procedura nel percorso di posizionamento risultante imposta il nodo del contesto per il percorso successivo nel passo.

Per accedere alla opzioni di riferimento della sintassi, fare clic sulla scheda Riferimento nella procedura guidata dell'espressione XPath.

Specificatori dell'asse

Ogni procedura di posizionamento XPath si sposta lungo un asse da un nodo di contesto. Ad esempio, se viene selezionato elemento secondario come propria asse, l'espressione XPath cerca in tutti gli elementi secondari del nodo di contesto.

Asse Posizione nella quale sono ricercati i nodi
ancestor:: Il nodo principale e tutti i nodi dell'elemento che contiene il nodo del contesto.
ancestor-or-self :: Tutti i predecessori del nodo di contesto, come il nodo stesso.
attribute:: Tutti gli attributi del nodo di contesto.
child:: Tutti gli elementi secondari del nodo di contesto. I nodi attributo e spazio nome non sono elementi secondari di tutti i nodi, sebbene questi dispongono di nodi principali.

Questo è il valore predefinito.

descendant:: Tutti i nodi contenuti nel nodo di contesto, cioè tutti tutti gli elementi secondari o tutti gli elementi secondari degli elementi secondari e così via. Solo i nodi principali e dell'elemento hanno questi elementi discendenti. Come l'asse degli elementi secondari, l'asse degli elementi discendenti non contiene mai i nomi degli attributi e dello spazio nome.
descendant-or-self:: Tutti gli elementi discendenti del nodo di contesto o il nodo di contesto stesso.
following:: Tutti i nodi che iniziano dopo che termina il nodo di contesto, fatta eccezione per i nodi attributo e i nodi spazio nome.
following-sibling::  Tutti i nodi che seguono la fine del nodo di contesto ed hanno lo stesso nodo principale. I nodi attributi e spazio nome non hanno elementi di pari livello.
namespace::  Tutti gli spazi nome nell'ambito del nodo di contesto.
parent::  Il nodo dell'elemento o il nodo principale che contiene immediatamente il nodo di contesto. Solo il nodo principale non dispone di un nodo parent.
preceding::  Tutti i nodi che finiscono prima che inizi in nodo di contesto, fatta eccezione per i nodi dell'attributo e i nodi dello spazio nome.
preceding-sibling:: Tutti i nodi che precedono l'inizio del nodo di contesto ed hanno lo stesso nodo principale. I nodi attributi e spazio nome non hanno elementi di pari livello.
self::  Il nodo di contesto stesso.

Verifiche del nodo

Ogni procedura di posizionamento ha almeno un'asse ed una verifica del nodo. La verifica del nodo rifinisce ulteriormente i nodi selezionati dalla procedura di posizionamento. Ad esempio, se viene specificato child:: comment( ) come procedura di posizione, l'espressione XPath restituisce tutti gli elementi secondati del nodo di commento del nodo di contesto.

Nodo Ciò che restituisce
* Seleziona tutti gli elementi, indipendentemente dal nome. Ad esempio, child::* seleziona tutti gli elementi secondari dell'elemento del nodo di contesto, e attribute::* seleziona tutti gli attributi del nodo di contesto.
comment ( ) Tutti i nodi di commento. 
node( ) Tutti i nodi, indipendentemente dal tipo.
processing-instruction ('destinazione' ) Con nessun argomento, restituisce tutte le istruzioni di elaborazione. Con unadestinazione dell'argomento di stringa singola, questo seleziona tutte le istruzioni di elaborazione che hanno una destinazione specificata.
text( ) Tutti i nodi di testo. Ad esempio child::text() seleziona tutti gli elementi secondati del nodo di testo del nodo di contesto.

Operatori

Ci sono tre tipi diversi di operatori:
  • Insieme di nodi - operatori utilizzati per combinare o definire i percorsi
  • Booleano - operatori utilizzati per confrontare le espressioni di stringa o numeriche
  • Numero - operatori utilizzati per manipolare i valori numerici

Insieme di nodi

Operatore Funzione
| Questo è l'operatore di unione. Questo prende due insiemi di nodo e combina tutti i nodi insieme (dopo aver rimosso i nodi duplicati).
/ Seleziona tutti i nodi secondari.
// Selezionare i nodi discendenti.

Booleano

Gli operatori booleani possono essere utilizzati per confrontare le espressioni di stringa o numeriche o i valori booleani.

Operatore Restituzioni
<= true se il valore della prima espressione numerica è inferiore o uguale al valore del secondo, altrimenti false.
< true se il valore della prima espressione numerica è inferiore al valore della seconda, altrimenti false.
>= true se il valore della prima espressione numerica è maggiore o uguale al valore del seconda, altrimenti false.
> true se il valore della prima espressione numerica è maggiore al valore del seconda, altrimenti false.
= True se entrambe le espressioni (stringa o numerica) hanno lo stesso valore, altrimenti false.
!= true se entrambe le espressioni (stringa o numerica) non hanno lo stesso valore, altrimenti false.
e True se entrambi i valori booleani sono true, altrimenti false.
o False solo se entrambi i valori sono false, altrimenti true.

Numero

Questi operatori possono essere utilizzati per manipolare i valori numerici.

Operatore Restituzioni
+ La somma di due espressioni numeriche.
- La differenza della prima espressione numerica meno la seconda.
* Il prodotto delle due espressioni numeriche.
div La prima espressione numerica divisa per la seconda espressione.
mod \ La prima espressione numerica modulata nella seconda espressione (restituisce il remainder).
Attività correlate
Creazione espressioni XPath
Riferimenti correlati
Procedura guidata dell'espressione XPath - Opzioni di riferimento delle funzioni

Feedback