Megosztás a következőn keresztül:


FOR XML biztonsági szempontok (SQLXML 4.0)

A következőkre vonatkozik:SQL ServerAzure SQL Database

Az FOR XML AUTO mód XML hierarchiát generál, amelyben az elemek nevei a tábnevekhez, az attribútumnevek pedig oszlopnevekhez fordulnak. Ez feltárja az adatbázis táblázat és oszlop információit. Az adatbázis adatait el lehet rejteni AUTO mód (szerveroldali formázás) használatakor, ha megadod a táblázat- és oszlop aliasokat a lekérdezésben. Ezek az aliasok az eredményes XML dokumentumban elem- és attribútumnevek formájában kerülnek vissza.

Például a következő lekérdezés megadja az AUTO módot; ezért az XML formázás a szerveren történik:

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

Az eredmény XML dokumentumában az aliasokat elem- és attribútumnevekhez használják:

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

Amikor NESTED módot használsz (kliens oldali formázás), az aliasok csak az adott XML dokumentum attribútumjaihoz adnak vissza. Az alaptáblák neveit mindig elemnevként adják vissza. Például a következő lekérdezés megadja a NESTED módot.

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

Az így született XML dokumentumban az alaptáblák nevei elemnevekként jelennek meg, és tábla-aliazsokat nem használnak:

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