Compartilhar via


XPathBinder Classe

Definição

Fornece suporte para o desenvolvimento do método RAD para analisar as expressões de associação de dados que usam expressões XPath. Essa classe não pode ser herdada.

public ref class XPathBinder sealed
public sealed class XPathBinder
type XPathBinder = class
Public NotInheritable Class XPathBinder
Herança
XPathBinder

Exemplos

O exemplo de código a seguir demonstra como usar um XmlDataSource controle com um controle com modelo Repeater para exibir dados XML. Este exemplo tem duas partes:

  • Uma página Web Forms que exibe dados XML.

  • Um arquivo XML que contém os dados.

A primeira parte do exemplo mostra uma página Web Forms que exibe dados XML acessados por meio de um XmlDataSource controle. Um Repeater controle usa a sintaxe do método simplificado Eval(Object, String) para associar a itens de dados dentro do documento XML que ele XmlDataSource representa. Ele usa o Select(Object, String) método para recuperar uma IEnumerable lista e atribuí-la como uma propriedade com limite DataSource tardio para o Repeater controle.

<%@ 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>

O segundo exemplo fornece o arquivo XML, Order.xml, que é usado como a fonte dos dados exibidos na página Web Forms definida acima.

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

Comentários

Você pode usar o método sobrecarregado Eval dessa classe para associar ao resultado de uma expressão XPath executada em um objeto que implementa a IXPathNavigable interface, como um XmlNode. Você pode usar o Select método para recuperar os resultados de uma expressão XPath executada em um IXPathNavigable objeto como uma IEnumerable lista de nós. Essa lista de nós pode ser enumerada diretamente ou atribuída à DataSource propriedade de um controle de lista, como um Repeater ou DataList.

Você pode usar uma versão simplificada da sintaxe de associação de dados ao usar os XPathBinder métodos declarativamente. Em vez de chamar XPathBinder.Eval(Container.DataItem, xpath) você pode usar XPath(xpath). Da mesma forma, em vez de chamar XPathBinder.Select(Container.DataItem,xpath), você pode usar XPathSelect(xpath) para recuperar um IEnumerable conjunto de nós. Ao usar essa sintaxe simplificada, os métodos e Select os Eval métodos assumem um objeto de contexto padrãoContainer.DataItem.

Para obter mais informações sobre a associação de dados a controles de servidor ASP.NET, consulte Sintaxe de expressão de associação de dados.

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Eval(Object, String)

Avalia as expressões de associação de dados XPath no tempo de execução.

Eval(Object, String, IXmlNamespaceResolver)

Avalia as expressões de associação de dados XPath no tempo de execução e formata o resultado como texto a ser exibido no navegador solicitante usando o objeto IXmlNamespaceResolver especificado para resolver os prefixos de namespace na expressão XPath.

Eval(Object, String, String)

Avalia as expressões de associação de dados XPath no tempo de execução e formata o resultado como texto a ser exibido no navegador solicitante.

Eval(Object, String, String, IXmlNamespaceResolver)

Avalia as expressões de associação de dados XPath no tempo de execução e formata o resultado como texto a ser exibido no navegador solicitante usando o objeto IXmlNamespaceResolver especificado para resolver os prefixos de namespace na expressão XPath.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
Select(Object, String)

Usa uma expressão de associação de dados XPath no tempo de execução para retornar uma lista de nós.

Select(Object, String, IXmlNamespaceResolver)

Usa uma expressão de associação de dados XPath no tempo de execução para retornar uma lista de nós, usando o objeto IXmlNamespaceResolver especificado para resolver os prefixos de namespace na expressão XPath.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a