FÖR XML-säkerhetsöverväganden (SQLXML 4.0)

gäller för:SQL ServerAzure SQL Database

LÄGET FÖR XML AUTO genererar en XML-hierarki där elementnamn mappas till tabellnamn och attributnamn till kolumnnamn. Detta exponerar databasens tabell- och kolumninformation. Du kan dölja databasinformationen när du använder AUTO-läge (serverside-formatering) genom att ange tabell- och kolumnaliaser i frågan. Dessa aliaser returneras i det resulterande XML-dokumentet som element- och attributnamn.

Till exempel specificerar följande fråga AUTO-läge; därför görs XML-formateringen på servern:

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

I det resulterande XML-dokumentet används aliasen för element- och attributnamn:

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

När du använder NESTED-läge (klientbaserad formatering) returneras aliasen endast för attribut i det resulterande XML-dokumentet. Namnen på bastabellerna returneras alltid som elementnamn. Till exempel specificerar följande fråga NÄSTAT läge.

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

I det resulterande XML-dokumentet returneras namnen på bastabellerna som elementnamn och tabellaliaser används inte:

<?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>