#747 - Utilizzare la nuova sintassi XPath per eseguire il DataBinding a dati in formato XML

ASP.NET 2.0 mette a disposizione dei nuovi controlli, chiamati DataSourceControls, per astrarre l'oggetto che visualizza i dati rispetto alla sorgente da cui questi provengono. Tra questi nuovi controlli c'è l'XmlDataSource che permette il Binding tra un oggetto ed una fonte dati XML. Questo controllo introduce una nuova sintassi XPath per decidere quali campi visualizzare.
Prendiamo ad esempio questo file XML:

<?xml version="1.0" encoding="utf-8" ?>
<Root>
  <ordine>
    <data>28/11/2005</data>
    <importo>100.34</importo>
    <cliente>Pluto</cliente>
  </ordine>
  <ordine>
    <data>29/11/2005</data>
    <importo>200.34</importo>
    <cliente>Pippo</cliente>
  </ordine>
  <ordine>
    <data>30/11/2005</data>
    <importo>300.34</importo>
    <cliente>Paperino</cliente>
  </ordine>
  <ordine>
    <data>27/11/2005</data>
    <importo>400.34</importo>
    <cliente>Paperoga</cliente>
  </ordine>
</Root>

Possiamo visualizzare tutti gli ordini in un Repeater scegliendo i campi tramite l'espressione di binding:

<%#XPath("NomeCampo")%>

Ecco l'esempio:

<form id="form1" runat="server">
<asp:XmlDataSource ID="DataSource" runat="server" DataFile="App_Data\Source1.xml" XPath="/Root/ordine"></asp:XmlDataSource>
<asp:Repeater ID="repeater" runat="server" DataSourceID="DataSource">
    <HeaderTemplate>
    <table>
    <tr>
      <td>Data</td>
      <td>Importo</td>
      <td>Cliente</td>
    </tr>
    </HeaderTemplate>
    <ItemTemplate>
    <tr>
      <td><%#XPath("data")%></td>
      <td><%#XPath("importo")%></td>
      <td><%#XPath("cliente")%></td>
    </tr>
    </ItemTemplate>
    <FooterTemplate>
      </table>
    </FooterTemplate>
</asp:Repeater>
</form>

Nota: Questo script contiene un allegato.


Approfondimenti

Commenti

Esprimi il tuo giudizio su questo script:

Per procedere devi essere autenticato.

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.




IN EVIDENZA
MISC