Udostępnij za pośrednictwem


XPathBinder Klasa

Definicja

Zapewnia obsługę szybkich projektantów tworzenia aplikacji (RAD) do analizowania wyrażeń powiązania danych, które używają wyrażeń XPath. Klasa ta nie może być dziedziczona.

public ref class XPathBinder sealed
public sealed class XPathBinder
type XPathBinder = class
Public NotInheritable Class XPathBinder
Dziedziczenie
XPathBinder

Przykłady

W poniższym przykładzie kodu pokazano, jak używać kontrolki XmlDataSource z kontrolką szablonu Repeater do wyświetlania danych XML. Ten przykład ma dwie części:

  • Strona Web Forms zawierająca dane XML.

  • Plik XML zawierający dane.

Pierwsza część przykładu przedstawia stronę Web Forms, która wyświetla dane XML dostępne za pośrednictwem kontrolkiXmlDataSource. Kontrolka Repeater używa uproszczonej Eval(Object, String) składni metody do powiązania z elementami danych w dokumencie XML, który XmlDataSource reprezentuje. Używa Select(Object, String) metody do pobierania IEnumerable listy i przypisywania jej jako właściwości opóźnionej DataSource dla kontrolki 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="VB" %>
<!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>

Drugi przykład zawiera plik XML, Order.xml, który jest używany jako źródło danych wyświetlanych na stronie Web Forms zdefiniowanej powyżej.

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

Uwagi

Za pomocą przeciążonej Eval metody tej klasy można powiązać z wynikiem wyrażenia XPath wykonanego względem obiektu, który implementuje IXPathNavigable interfejs, taki jak XmlNode. Możesz użyć Select metody , aby pobrać wyniki wyrażenia XPath wykonanego względem IXPathNavigable obiektu jako IEnumerable listę węzłów. Tę listę węzłów można wyliczyć bezpośrednio lub przypisać do DataSource właściwości kontrolki listy, takiej jak lub Repeater DataList.

W przypadku deklaratywnego XPathBinder używania metod można użyć uproszczonej wersji składni powiązania danych. Zamiast wywoływać XPathBinder.Eval(Container.DataItem, xpath) można użyć XPath(xpath). Podobnie zamiast wywoływania XPathBinder.Selectmetody (Container.DataItem,xpath) można użyć XPathSelectfunkcji (xpath), aby pobrać IEnumerable zestaw węzłów. W przypadku korzystania z tej uproszczonej składni Eval metody i Select przyjmują domyślny Container.DataItem obiekt kontekstu.

Aby uzyskać więcej informacji o powiązaniu danych z kontrolkami serwera ASP.NET, zobacz Składnia wyrażeń powiązania danych.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Eval(Object, String)

Oblicza wyrażenia powiązania danych XPath w czasie wykonywania.

Eval(Object, String, IXmlNamespaceResolver)

Oblicza wyrażenia powiązania danych XPath w czasie wykonywania i formatuje wynik jako tekst, który ma być wyświetlany w przeglądarce żądania, przy użyciu obiektu określonego IXmlNamespaceResolver do rozpoznawania prefiksów przestrzeni nazw w wyrażeniu XPath.

Eval(Object, String, String)

Oblicza wyrażenia powiązania danych XPath w czasie wykonywania i formatuje wynik jako tekst, który ma być wyświetlany w przeglądarce żądającej.

Eval(Object, String, String, IXmlNamespaceResolver)

Oblicza wyrażenia powiązania danych XPath w czasie wykonywania i formatuje wynik jako tekst, który ma być wyświetlany w przeglądarce żądania, przy użyciu obiektu określonego IXmlNamespaceResolver do rozpoznawania prefiksów przestrzeni nazw w wyrażeniu XPath.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
Select(Object, String)

Używa wyrażenia powiązania danych XPath w czasie wykonywania, aby zwrócić listę węzłów.

Select(Object, String, IXmlNamespaceResolver)

Używa wyrażenia powiązania danych XPath w czasie wykonywania, aby zwrócić listę węzłów przy użyciu obiektu określonego IXmlNamespaceResolver do rozpoznawania prefiksów przestrzeni nazw w wyrażeniu XPath.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy