Share via


Costruzione di codice XML tramite la clausola FOR XML

Una query SELECT restituisce i risultati come un set di righe. È possibile recuperare facoltativamente i risultati di una query SQL come codice XML specificando la clausola FOR XML nella query. In una clausola FOR XML, è necessario specificare una delle modalità seguenti:

  • RAW
  • AUTO
  • EXPLICIT
  • PATH

Nella modalità RAW viene generato un singolo elemento <row> per ogni riga del set di righe restituito dall'istruzione SELECT. È possibile generare la gerarchia XML tramite la formulazione di query FOR XML nidificate.

Nella modalità AUTO, il codice XML risultante è nidificato tramite l'approccio euristico determinato dalla modalità con cui viene specificata l'istruzione SELECT. Il controllo sulla forma del codice XML generato è minimo. È possibile formulare query FOR XML nidificate che generano una gerarchia XML che esula dalla forma XML generata dall'approccio euristico della modalità AUTO.

La modalità EXPLICIT consente un maggiore controllo sulla forma del codice XML, grazie alla possibilità di combinare gli attributi e gli elementi che definiscono tale forma. È richiesto un formato specifico per il set di righe generato in seguito all'esecuzione della query, che viene quindi mappato alla forma del codice XML. La modalità EXPLICIT consente di combinare elementi e attributi, di creare wrapper e proprietà complesse nidificate, di creare valori separati da spazi (ad esempio, l'attributo OrderID può includere un elenco di ID di ordine) e contenuti misti.

La formulazione di query nella modalità EXPLICIT può tuttavia essere complessa. Per generare le gerarchie, anziché utilizzare la modalità EXPLICIT è possibile utilizzare le nuove funzionalità di FOR XML, ad esempio la formulazione di query FOR XML nidificate in modalità RAW/AUTO/PATH e la direttiva TYPE. Le query FOR XML nidificate consentono di generare qualsiasi codice XML generabile tramite la modalità EXPLICIT. Per ulteriori informazioni, vedere Query FOR XML nidificate e Direttiva TYPE in query FOR XML.

L'utilizzo congiunto della modalità PATH e delle funzionalità per le query FOR XML nidificate consente di ottenere lo stesso livello di versatilità della modalità EXPLICIT, ma in un modo più semplice.

Queste modalità sono valide solo per l'esecuzione della query per la quale sono state impostate e non influiscono sui risultati di eventuali query successive.

Vedere anche

Riferimento

Sintassi di base della clausola FOR XML
Linee guida per l'utilizzo della clausola FOR XML
Utilizzo della modalità RAW
Utilizzo della modalità AUTO
Utilizzo della modalità EXPLICIT
Nuove funzionalità FOR XML
Esecuzione di query su codice XML tramite OPENXML
Utilizzo di FOR XML e di OPENXML per pubblicare ed elaborare dati XML

Concetti

Utilizzo della modalità PATH
Applicazioni XML di esempio
Aggiunta di spazi dei nomi tramite WITH XMLNAMESPACES

Guida in linea e informazioni

Assistenza su SQL Server 2005