Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Se o caminho especificado como nome da coluna for "data()", o valor será tratado como um valor atômico no XML gerado. Um caractere de espaço será adicionado ao XML se o próximo item na serialização também for um valor atômico. Isso é útil quando você está criando valores de elementos e atributos do tipo lista. A consulta a seguir recupera a ID do modelo de produto, o nome e a lista de produtos nesse modelo de produto.
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');
O SELECT aninhado recupera uma lista de IDs de produto. Ele especifica "data()" como o nome da coluna para IDs do produto. Como o modo PATH especifica uma cadeia de caracteres vazia para o nome do elemento de linha, não há nenhum elemento de linha gerado. Em vez disso, os valores são retornados conforme atribuído a um atributo ProductIDs do <ProductModelData> elemento de linha do SELECT pai. Este é o resultado:
<ProductModelData ProductModelID="7"
ProductModelName="HL Touring Frame"
ProductIDs="885 887 888 889 890 891 892 893" />