Exemple : Spécifier la directive ELEMENT
S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed Instance
Cette directive extrait des informations sur les employés et génère des données XML centrées sur l'élément, comme illustré par le code suivant :
<Employee EmpID=...>
<Name>
<FName>...</FName>
<LName>...</LName>
</Name>
</Employee>
La requête demeure la même, à l'exception du fait que vous ajoutez la directive ELEMENT
dans les noms de colonnes. Par conséquent, au lieu d’attributs, les <FName>
enfants et <LName>
les enfants d’élément sont ajoutés à l’élément <Name>
. Étant donné que la Employee!1!EmpID
colonne ne spécifie pas la ELEMENT
directive, EmpID
elle est ajoutée en tant qu’attribut de l’élément <Employee>
.
SELECT 1 as Tag,
NULL as Parent,
E.BusinessEntityID as [Employee!1!EmpID],
NULL as [Name!2!FName!ELEMENT],
NULL as [Name!2!LName!ELEMENT]
FROM HumanResources.Employee AS E
INNER JOIN Person.Person AS P
ON E.BusinessEntityID = P.BusinessEntityID
UNION ALL
SELECT 2 as Tag,
1 as Parent,
E.BusinessEntityID,
FirstName,
LastName
FROM HumanResources.Employee AS E
INNER JOIN Person.Person AS P
ON E.BusinessEntityID = P.BusinessEntityID
ORDER BY [Employee!1!EmpID],[Name!2!FName!ELEMENT]
FOR XML EXPLICIT;
Le résultat partiel est le suivant.
<Employee EmpID="1">
<Name>
<FName>Ken</FName>
<LName>Sánchez</LName>
</Name>
</Employee>
<Employee EmpID="2">
<Name>
<FName>Terri</FName>
<LName>Duffy</LName>
</Name>
</Employee>
...
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Prochainement : Tout au long de l'année 2024, nous supprimerons progressivement les GitHub Issues en tant que mécanisme de retour d'information pour le contenu et nous les remplacerons par un nouveau système de retour d'information. Pour plus d’informations, voir:Soumettre et afficher des commentaires pour