Condividi tramite


Sintassi di base della clausola FOR XML

La modalità FOR XML può essere RAW, AUTO, EXPLICIT o PATH. Tale modalità determina la forma della struttura XML risultante. Di seguito viene indicata la sintassi di base descritta nell'argomento relativo alla clausola FOR (Transact-SQL):

[ FOR { BROWSE | <XML> } ]
<XML> ::=
XML 
    { 
      { RAW [ ('ElementName') ] | AUTO } 
        [ 
           <CommonDirectives> 
           [ , { XMLDATA | XMLSCHEMA [ ('TargetNameSpaceURI') ]} ] 
           [ , ELEMENTS [ XSINIL | ABSENT ] 
        ]
      | EXPLICIT 
        [ 
           <CommonDirectives> 
           [ , XMLDATA ] 
        ]
      | PATH [ ('ElementName') ] 
        [ 
           <CommonDirectives> 
           [ , ELEMENTS [ XSINIL | ABSENT ] ]
        ]
     } 
 
 <CommonDirectives> ::= 
   [ , BINARY BASE64 ]
   [ , TYPE ]
   [ , ROOT [ ('RootName') ] ]

Argomenti

  • RAW[('ElementName')]
    Converte ogni riga del set dei risultati della query in un elemento XML con l'identificatore generico <row /> come tag dell'elemento. È possibile specificare facoltativamente il nome dell'elemento riga quando si utilizza questa direttiva. La struttura XML risultante utilizzerà il valore ElementName specificato come elemento riga generato per ogni riga. Per ulteriori informazioni, vedere Utilizzo della modalità RAW e Nuove funzionalità FOR XML.
  • AUTO
    Restituisce i risultati della query in una semplice struttura XML nidificata. Ogni tabella nella clausola FROM, per cui è specificata almeno una colonna nella clausola SELECT, viene rappresentata come elemento XML. Le colonne elencate nella clausola SELECT vengono mappate agli attributi di elemento appropriati. Per ulteriori informazioni, vedere Utilizzo della modalità AUTO e Nuove funzionalità FOR XML.
  • EXPLICIT
    Specifica che la forma della struttura XML risultante viene definita in modo esplicito. Con questa modalità è tuttavia necessario che le query siano scritte in modo che le informazioni aggiuntive sulla nidificazione desiderata vengano specificate in modo esplicito. Per ulteriori informazioni, vedere Utilizzo della modalità EXPLICIT e Nuove funzionalità FOR XML.
  • PATH
    Consente di combinare facilmente elementi e attributi, nonché di introdurre una nidificazione aggiuntiva per rappresentare proprietà complesse. È possibile utilizzare le query in modalità FOR XML EXPLICIT per costruire questo tipo di struttura XML da un set di righe, ma la modalità PATH costituisce un'alternativa più semplice. La modalità PATH, insieme alla possibilità di scrivere query FOR XML nidificate e alla direttiva TYPE per restituire istanze di tipo xml, consente di formulare più facilmente le query e rappresenta un'alternativa alla scrittura della maggior parte delle query in modalità EXPLICIT. Per impostazione predefinita, la modalità PATH genera un wrapper dell'elemento <row> per ogni riga nel set dei risultati. È possibile specificare facoltativamente il nome di un elemento. In tal caso, il nome specificato viene utilizzato come nome dell'elemento wrapper. Se si specifica una stringa vuota (FOR XML PATH ('')), non viene generato alcun elemento wrapper. Per ulteriori informazioni, vedere Utilizzo della modalità PATH.
  • XMLDATA
    Specifica che deve essere restituito uno schema XDR (XML-Data Reduced) inline. Lo schema viene aggiunto all'inizio del documento come schema inline. Per un esempio reale, vedere Utilizzo della modalità RAW.
  • XMLSCHEMA
    Restituisce uno schema XML W3C (XSD) inline. È possibile specificare facoltativamente un URI dello spazio dei nomi di destinazione quando si specifica questa direttiva. In tal modo, viene restituito lo spazio dei nomi specificato nello schema. Per ulteriori informazioni, vedere Generazione di uno schema XSD inline. Per un esempio reale, vedere Utilizzo della modalità RAW.
  • ELEMENTS
    Se si specifica l'opzione ELEMENTS, le colonne vengono restituite come sottoelementi. In caso contrario, vengono mappate ad attributi XML. Questa opzione è supportata solo con le modalità RAW, AUTO e PATH. È possibile specificare facoltativamente XSINIL o ABSENT quando si utilizza questa direttiva. XSINIL specifica la creazione di un elemento con attributo xsi:nil impostato su per i valori di colonna NULL. Per impostazione predefinita o quando si specifica ABSENT insieme a ELEMENTS, non viene creato alcun elemento per i valori NULL. Per un esempio reale, vedere Utilizzo della modalità RAW e Utilizzo della modalità AUTO.
  • BINARY BASE64
    Se si specifica l'opzione BINARY Base64, gli eventuali dati binari restituiti dalla query vengono rappresentanti nel formato con codifica Base64. Per recuperare dati binari in modalità RAW ed EXPLICIT, è necessario specificare questa opzione. In modalità AUTO, i dati binari vengono restituiti come riferimento per impostazione predefinita. Per un esempio reale, vedere Utilizzo della modalità RAW.
  • ROOT [('RootName')]
    Specifica l'aggiunta di un singolo elemento principale alla struttura XML risultante. È possibile specificare facoltativamente il nome dell'elemento principale da generare. Il valore predefinito è "root".

Vedere anche

Riferimento

Utilizzo della modalità RAW
Utilizzo della modalità AUTO
Utilizzo della modalità EXPLICIT
Costruzione di codice XML tramite la clausola FOR XML

Concetti

Utilizzo della modalità PATH

Altre risorse

SELECT (Transact-SQL)

Guida in linea e informazioni

Assistenza su SQL Server 2005