Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Se il percorso specificato come nome di colonna è "data()", il valore viene considerato come un valore atomico nel codice XML generato. Un carattere di spazio viene aggiunto al codice XML se l'elemento successivo nella serializzazione è anche un valore atomico. Ciò è utile quando si creano valori di elemento e attributo del tipo elenco. La query seguente recupera l'ID del modello di prodotto, il nome e l'elenco dei prodotti nel modello di prodotto.
USE AdventureWorks2012;
GO
SELECT ProductModelID AS "@ProductModelID",
Name AS "@ProductModelName",
(SELECT ProductID AS "data()"
FROM Production.Product
WHERE Production.Product.ProductModelID =
Production.ProductModel.ProductModelID
FOR XML PATH ('')) AS "@ProductIDs"
FROM Production.ProductModel
WHERE ProductModelID= 7
FOR XML PATH('ProductModelData');
L'istruzione SELECT nidificata recupera un elenco di codici prodotto. Specifica "data()" come nome di colonna per gli ID prodotto. Poiché la modalità PATH specifica una stringa vuota per il nome dell'elemento di riga, non è generato alcun elemento di riga. I valori vengono invece restituiti come assegnati all'attributo ProductIDs dell'elemento row del SELECT padre <ProductModelData>. Risultato:
<ProductModelData ProductModelID="7"
ProductModelName="HL Touring Frame"
ProductIDs="885 887 888 889 890 891 892 893" />