Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
              gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Det här exemplet illustrerar skillnaden mellan ELEMENT- och XML--direktiv. 
              ELEMENT--direktivet konverterar data till entiteter, men XML--direktivet gör det inte. Elementet <Summary> tilldelas XML-attributet <Summary>This is summary description</Summary>i frågesatsen.
Tänk på den här frågan:
USE AdventureWorks2022;
GO
SELECT  1 as Tag,
        0 as Parent,
        ProductModelID  as [ProductModel!1!ProdModelID],
        Name            as [ProductModel!1!Name],
        NULL            as [Summary!2!SummaryDescription!ELEMENT]
FROM    Production.ProductModel
WHERE   ProductModelID=19
UNION ALL
SELECT  2 as Tag,
        1 as Parent,
        ProductModelID,
        NULL,
       '<Summary>This is summary description</Summary>'
FROM   Production.ProductModel
WHERE  ProductModelID = 19
FOR XML EXPLICIT;
Det här är resultatet. Sammanfattningsbeskrivningen är angiven i resultatet.
<ProductModel ProdModelID="19" Name="Mountain-100">
  <Summary>
    <SummaryDescription><Summary>This is summary description</Summary></SummaryDescription>
  </Summary>
</ProductModel>
Om du nu anger XML--direktivet i kolumnnamnet, Summary!2!SummaryDescription!XMLi stället för ELEMENT--direktivet, får du sammanfattningsbeskrivningen utan entisering.
<ProductModel ProdModelID="19" Name="Mountain-100">
  <Summary>
    <SummaryDescription>
      <Summary>This is summary description</Summary>
    </SummaryDescription>
  </Summary>
</ProductModel>
I stället för att tilldela ett statiskt XML-värde använder följande fråga query()-metoden för XML- typ för att hämta sammanfattningsbeskrivningen för produktmodellen från kolumnen CatalogDescription xml typ. Eftersom resultatet är känt för att vara av xml- typ, tillämpas ingen entitisering.
SELECT  1 as Tag,
        0 as Parent,
        ProductModelID  as [ProductModel!1!ProdModelID],
        Name            as [ProductModel!1!Name],
        NULL            as [Summary!2!SummaryDescription]
FROM    Production.ProductModel
WHERE   CatalogDescription is not null
UNION ALL
SELECT  2 as Tag,
        1 as Parent,
        ProductModelID,
        Name,
       (SELECT CatalogDescription.query('
            declare namespace pd="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription";
			/pd:ProductDescription/pd:Summary'))
FROM     Production.ProductModel
WHERE    CatalogDescription is not null
ORDER BY [ProductModel!1!ProdModelID],Tag
FOR XML EXPLICIT;