Delen via


FOR XML-beveiligingsoverwegingen (SQLXML 4.0)

Van toepassing op:SQL ServerAzure SQL Database

De FOR XML AUTO-modus genereert een XML-hiƫrarchie waarbij elementnamen worden gekoppeld aan tabelnamen en attribuutnamen aan kolomnamen. Dit maakt de databasetabel en kolominformatie beschikbaar. Je kunt de database-informatie verbergen wanneer je AUTO-modus (server-side opmaak) gebruikt door tabel- en kolomaliasen in de query te specificeren. Deze aliasen worden in het resulterende XML-document teruggegeven als element- en attribuutnamen.

Bijvoorbeeld, de volgende query specificeert AUTO-modus; daarom wordt de XML-opmaak op de server uitgevoerd:

SELECT C.FirstName as F,C.LastName as L   
FROM Person.Contact C   
FOR XML AUTO  

In het resulterende XML-document worden de aliassen gebruikt voor element- en attribuutnamen:

<?xml version="1.0" encoding="utf-8" ?>   
<root>  
  <C F="Nancy" L="Fuller" />   
  <CE F="Andrew" L="Peacock" />   
  <C F="Janet" L="Leverling" />   
  ...  
</root>  

Wanneer je NESTED-modus gebruikt (client-side opmaak), worden aliasen alleen teruggegeven voor attributen in het resulterende XML-document. De namen van de basistabellen worden altijd als elementnamen teruggegeven. Bijvoorbeeld, de volgende query specificeert de geneste modus.

SELECT C.FirstName as F,C.LastName as L   
FROM Person.Contact C   
FOR XML AUTO  

In het resulterende XML-document worden de namen van de basistabellen teruggegeven omdat elementnamen en tabelaliasen niet worden gebruikt:

<?xml version="1.0" encoding="utf-8" ?>   
<root>  
  <Person.Contact F="Nancy" L="Fuller" />   
  <Person.Contact F="Andrew" L="Peacock" />   
  <Person.Contact F="Janet" L="Leverling" />   
       ...  
</root>