Questa pagina è stata utile?
I suggerimenti relativi al contenuto di questa pagina sono importanti. Comunicaceli.
Altri suggerimenti?
1500 caratteri rimanenti
Classe XPathBinder
Collapse the table of content
Expand the table of content

Classe XPathBinder

Aggiornamento: novembre 2007

Fornisce supporto per le finestre di progettazione per lo sviluppo rapido di applicazioni (RAD) per analizzare le espressioni di associazione dati che utilizzano espressioni XPath. La classe non può essere ereditata.

Spazio dei nomi:  System.Web.UI
Assembly:  System.Web (in System.Web.dll)

[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public sealed class XPathBinder
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal) */
public final class XPathBinder
public final class XPathBinder

È possibile utilizzare il metodo di overload Eval di questa classe per associare il risultato di un'espressione XPath eseguita su un oggetto che implementa l'interfaccia IXPathNavigable, ad esempio un oggetto XmlNode. È possibile utilizzare il metodo Select per recuperare i risultati di un'espressione XPath eseguita su un oggetto IXPathNavigable come elenco IEnumerable di nodi. Questo elenco di nodi può essere enumerato direttamente o assegnato alla proprietà DataSource di un controllo elenco, quale Repeater o DataList.

È possibile utilizzare una versione semplificata della sintassi di associazione dati quando i metodi XPathBinder vengono utilizzati in modo dichiarativo. Anziché chiamare XPathBinder.Eval(Container.DataItem, xpath), è possibile utilizzare XPath(xpath). Analogamente, anziché chiamare XPathBinder.Select(Container.DataItem,xpath), è possibile utilizzare XPathSelect(xpath) per recuperare un insieme di nodi IEnumerable. Quando si utilizza la sintassi semplificata, i metodi Eval e Select assumono uno oggetto di contesto Container.DataItem predefinito.

Per ulteriori informazioni sull'associazione dati ai controlli server ASP.NET, vedere Sintassi delle espressioni di associazione dati.

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare un controllo XmlDataSource con un controllo Repeater basato su modelli per visualizzare dati XML. Questo esempio è suddiviso in due parti:

  • Una pagina Web Form che visualizza dati XML.

  • Un file XML che contiene i dati.

Nella prima parte dell'esempio viene illustrata una pagina Web Form che visualizza dati XML a cui si accede tramite un controllo XmlDataSource. Un controllo Repeater utilizza la sintassi semplificata del metodo Eval(Object, String) per associare elementi di dati all'interno del documento XML rappresentato da XmlDataSource. Utilizza il metodo Select(Object, String) per recuperare un elenco IEnumerable e assegnarlo come proprietà DataSource di associazione tardiva per il controllo Repeater.

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>Order</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:XmlDataSource
        runat="server"
        id="XmlDataSource1"
        XPath="orders/order"
        DataFile="order.xml" />

      <asp:Repeater ID="Repeater1"
        runat="server"
        DataSourceID="XmlDataSource1">
        <ItemTemplate>
            <h2>Order</h2>
            <table>
              <tr>
                <td>Customer</td>
                <td><%#XPath("customer/@id")%></td>
                <td><%#XPath("customername/firstn")%></td>
                <td><%#XPath("customername/lastn")%></td>
              </tr>
              <tr>
                <td>Ship To</td>
                <td><%#XPath("shipaddress/address1")%></font></td>
                <td><%#XPath("shipaddress/city")%></td>
                <td><%#XPath("shipaddress/state")%>,
                    <%#XPath("shipaddress/zip")%></td>
              </tr>
            </table>
            <h3>Order Summary</h3>
            <asp:Repeater ID="Repeater2"
                 DataSource='<%#XPathSelect("summary/item")%>'
                 runat="server">
                <ItemTemplate>
                     <b><%#XPath("@dept")%></b> -
                         <%#XPath(".")%><br />
                </ItemTemplate>
            </asp:Repeater>
            <hr />
        </ItemTemplate>
    </asp:Repeater>

  </form>
  </body>
</html>


<%@ Page Language="VJ#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>Order</title>
</head>
<body>
      <asp:XmlDataSource
        runat="server"
        id="XmlDataSource1"
        XPath="orders/order"
        DataFile="order.xml" />

      <asp:Repeater ID="Repeater1"
        runat="server"
        DataSourceID="XmlDataSource1">
        <ItemTemplate>
            <h2>Order</h2>
            <table>
              <tr>
                <td>Customer</td>
                <td><%#XPath("customer/@id")%></td>
                <td><%#XPath("customername/firstn")%></td>
                <td><%#XPath("customername/lastn")%></td>
              </tr>
              <tr>
                <td>Ship To</td>
                <td><%#XPath("shipaddress/address1")%></font></td>
                <td><%#XPath("shipaddress/city")%></td>
                <td><%#XPath("shipaddress/state")%>,
                    <%#XPath("shipaddress/zip")%></td>
              </tr>
            </table>
            <h3>Order Summary</h3>
            <asp:Repeater ID="Repeater2"
                 DataSource='<%#XPathSelect("summary/item")%>'
                 runat="server">
                <ItemTemplate>
                     <b><%#XPath("@dept")%></b> -
                         <%#XPath(".")%><br />
                </ItemTemplate>
            </asp:Repeater>
            <hr />
        </ItemTemplate>
    </asp:Repeater>
  </body>
</html>


Nel secondo esempio viene fornito il file XML, Order.xml, utilizzato come origine dei dati visualizzati nella pagina Web Form definita in precedenza.

<?xml version="1.0" encoding="iso-8859-1"?>
  <orders>
    <order>
      <customer id="12345" />
      <customername>
        <firstn>John</firstn>
        <lastn>Doe</lastn>
      </customername>
      <transaction id="12345" />
      <shipaddress>
        <address1>1234 Tenth Avenue</address1>
        <city>Bellevue</city>
        <state>Washington</state>
        <zip>98001</zip>
      </shipaddress>
      <summary>
        <item dept="tools">screwdriver</item>
        <item dept="tools">hammer</item>
        <item dept="plumbing">fixture</item>
      </summary>
    </order>
 </orders>

System.Object
  System.Web.UI.XPathBinder

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition , Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5, 3.0, 2.0

Aggiunte alla community

AGGIUNGI
Mostra:
© 2015 Microsoft