In questa pagina
Messaggio
Codice: 2390
Messaggio in italiano: %1!I nodi %2! di livello principale non sono supportati.
Messaggio in inglese: %sTop-level %s nodes are not supported
Spiegazione
Alcuni tipi di nodo – come gli attributi – non possono essere usati come prima parte di una query XQuery.
Non è quindi possibile fare riferimento a un attributo in questo modo:
SELECT campo.query('/nodo').value('@attributo', 'int')
Causa
Si è tentato di fare riferimento a un valore con una XQuery che inizia con un elemento non valido (per esempio, un attributo).
Parametri
%1! rappresenta il messaggio XQuery dell’evento che ha generato l’errore.
%2! rappresenta il tipo di elemento che non può essere usato all’inizio di una XQuery
Soluzione
Usare .query per ottenere un elenco di elementi oppure .value per ottenere un valore scalare.
Per esempio, per ottenere il valore di un attributo, invece di:
SELECT campo.query('/nodo').value('@attributo', 'int')
usare
SELECT campo.value('(/nodo/@attributo)[1]', 'int')
Nell’espressione di Value, usare la query XQuery tra parentesi e fare riferimento all’elemento [1] per non ottenere un errore 2389