Output in XML in SQL Server
Ho scoperto che SQL Server ci da la possibilità di trasformare l'output di una query direttamente in XML.
Abbiamo diverse possibilità, di cui noi vedremo quelle principali:
- AUTO -> ogni colonna è un attributo
- PATH -> ogni record è un elemento, ed ogni colonna è un elemento interno
Cominciamo col primo esempio:
SELECT * FROM Interventi FOR XML AUTO
E l'output sarà una cosa del genere:
<Interventi IdIntervento="1" TipoIntervento="MANUTENZIONE" Data="2020-07-08T08:00:00" />
<Interventi IdIntervento="2" TipoIntervento="MANUTENZIONE" Data="2020-05-12T11:00:00" />
Io preferisco PATH:
SELECT * FROM Interventi FOR XML PATH
E qui sotto potete vedere il motivo:
<row>
<IdIntervento>1</IdIntervento>
<TipoIntervento>MANUTENZIONE</TipoIntervento>
<Data>2020-07-08T08:00:00</Data>
</row>
<row>
<IdIntervento>2</IdIntervento>
<TipoIntervento>MANUTENZIONE</TipoIntervento>
<Data>2020-05-12T11:00:00</Data>
</row>
Lo trovo più ordinato e leggibile.
Possiamo anche dare un nome ad ogni elemento:
SELECT * FROM Interventi FOR XML PATH ('Intervento')
<Intervento>
<IdIntervento>1</IdIntervento>
<TipoIntervento>MANUTENZIONE</TipoIntervento>
<Data>2020-07-08T08:00:00</Data>
</Intervento>
<Intervento>
<IdIntervento>2</IdIntervento>
<TipoIntervento>MANUTENZIONE</TipoIntervento>
<Data>2020-05-12T11:00:00</Data>
</Intervento>
Enjoy!
database sql sql server xml
Commentami!