Partager via


XPathBinder Classe

Définition

Fournit la prise en charge des concepteurs de développement d’applications rapides (RAD) pour analyser des expressions de liaison de données qui utilisent des expressions XPath. Cette classe ne peut pas être héritée.

public ref class XPathBinder sealed
public sealed class XPathBinder
type XPathBinder = class
Public NotInheritable Class XPathBinder
Héritage
XPathBinder

Exemples

L’exemple de code suivant montre comment utiliser un XmlDataSource contrôle avec un contrôle modèle Repeater pour afficher des données XML. Cet exemple comporte deux parties :

  • Page Web Forms qui affiche des données XML.

  • Fichier XML qui contient les données.

La première partie de l’exemple montre une page Web Forms qui affiche les données XML accessibles via un XmlDataSource contrôle. Un Repeater contrôle utilise une syntaxe de méthode simplifiée Eval(Object, String) pour lier des éléments de données dans le document XML que représente XmlDataSource . Il utilise la Select(Object, String) méthode pour récupérer une IEnumerable liste et l’affecter en tant que propriété liée tardivement DataSource au Repeater contrôle.

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

Le deuxième exemple fournit le fichier XML, Order.xml, utilisé comme source des données affichées dans la page Web Forms définie ci-dessus.

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

Remarques

Vous pouvez utiliser la méthode surchargée Eval de cette classe pour établir une liaison au résultat d’une expression XPath exécutée sur un objet qui implémente l’interface IXPathNavigable , comme un XmlNode. Vous pouvez utiliser la Select méthode pour récupérer les résultats d’une expression XPath exécutée sur un IXPathNavigable objet en tant que IEnumerable liste de nœuds. Cette liste de nœuds peut être énumérée directement ou affectée à la DataSource propriété d’un contrôle de liste, tel qu’un Repeater ou DataList.

Vous pouvez utiliser une version simplifiée de la syntaxe de liaison de données lors de l’utilisation XPathBinder des méthodes de manière déclarative. Au lieu d’appeler XPathBinder.Eval(Container.DataItem, xpath) vous pouvez utiliser XPath(xpath). De même, au lieu d’appeler XPathBinder.Select(Container.DataItem,xpath), vous pouvez utiliser XPathSelect(xpath) pour récupérer un IEnumerable ensemble de nœuds. Lorsque vous utilisez cette syntaxe simplifiée, les méthodes et Select les Eval méthodes supposent un objet de contexte par défautContainer.DataItem.

Pour plus d’informations sur la liaison de données aux contrôles serveur ASP.NET, consultez Data-Binding syntaxe d’expression.

Méthodes

Nom Description
Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
Eval(Object, String, IXmlNamespaceResolver)

Évalue les expressions de liaison de données XPath au moment de l’exécution et met en forme le résultat sous forme de texte à afficher dans le navigateur demandeur, à l’aide de l’objet IXmlNamespaceResolver spécifié pour résoudre les préfixes d’espace de noms dans l’expression XPath.

Eval(Object, String, String, IXmlNamespaceResolver)

Évalue les expressions de liaison de données XPath au moment de l’exécution et met en forme le résultat sous forme de texte à afficher dans le navigateur demandeur, à l’aide de l’objet IXmlNamespaceResolver spécifié pour résoudre les préfixes d’espace de noms dans l’expression XPath.

Eval(Object, String, String)

Évalue les expressions de liaison de données XPath au moment de l’exécution et met en forme le résultat sous forme de texte à afficher dans le navigateur demandeur.

Eval(Object, String)

Évalue les expressions de liaison de données XPath au moment de l’exécution.

GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
Select(Object, String, IXmlNamespaceResolver)

Utilise une expression de liaison de données XPath au moment de l’exécution pour retourner une liste de nœuds, à l’aide de l’objet IXmlNamespaceResolver spécifié pour résoudre les préfixes d’espace de noms dans l’expression XPath.

Select(Object, String)

Utilise une expression de liaison de données XPath au moment de l’exécution pour retourner une liste de nœuds.

ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)

S’applique à