XPathBinder.Select Méthode

Définition

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

Surcharges

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.

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, en utilisant l'objet IXmlNamespaceResolver spécifié pour résoudre des préfixes d'espace de noms dans l'expression XPath.

Remarques

Vous pouvez utiliser la méthode surchargée Select de manière déclarative si vous souhaitez simplifier la récupération d’un ensemble de nœuds à l’aide d’une requête XPath. Pour ce faire, vous devez placer les <%# and %> balises, qui sont également utilisées dans la liaison de données standard ASP.NET, autour de la requête 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.

public:
 static System::Collections::IEnumerable ^ Select(System::Object ^ container, System::String ^ xPath);
public static System.Collections.IEnumerable Select (object container, string xPath);
static member Select : obj * string -> System.Collections.IEnumerable
Public Shared Function Select (container As Object, xPath As String) As IEnumerable

Paramètres

container
Object

Référence de l'objet IXPathNavigable par rapport à laquelle l'expression est évaluée. Il doit s'agir d'un identificateur d'objet valide dans la langue spécifiée de la page.

xPath
String

Requête XPath qui récupère une liste de nœuds.

Retours

IEnumerable

Liste de nœuds IEnumerable.

Exceptions

Le paramètre container ou xpath est null.

L'objet spécifié par container n'est pas un objet IXPathNavigable.

Le nœud actuel du XPathNodeIterator n'a pas de nœud XML associé.

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 les 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 la syntaxe de méthode simplifiée Eval(Object, String) pour lier des éléments de données au sein du 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 DataSource tardivement 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 Select(Object, String) méthode de manière déclarative si vous souhaitez simplifier la récupération d’un ensemble de nœuds à l’aide d’une requête XPath. Pour ce faire, vous devez placer les <%# and %> balises, qui sont également utilisées dans la liaison de données standard ASP.NET, autour de la requête XPath.

Pour l’un des contrôles serveur de liste ASP.NET, tels que DataList, DataGridou Repeater, le container paramètre doit être Container.DataItem.

S’applique à

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, en utilisant l'objet IXmlNamespaceResolver spécifié pour résoudre des préfixes d'espace de noms dans l'expression XPath.

public:
 static System::Collections::IEnumerable ^ Select(System::Object ^ container, System::String ^ xPath, System::Xml::IXmlNamespaceResolver ^ resolver);
public static System.Collections.IEnumerable Select (object container, string xPath, System.Xml.IXmlNamespaceResolver resolver);
static member Select : obj * string * System.Xml.IXmlNamespaceResolver -> System.Collections.IEnumerable
Public Shared Function Select (container As Object, xPath As String, resolver As IXmlNamespaceResolver) As IEnumerable

Paramètres

container
Object

Référence de l'objet IXPathNavigable par rapport à laquelle l'expression est évaluée. Il doit s'agir d'un identificateur d'objet valide dans la langue spécifiée de la page.

xPath
String

Requête XPath qui récupère une liste de nœuds.

resolver
IXmlNamespaceResolver

Objet IXmlNamespaceResolver permettant de trouver les préfixes d’espace de noms dans l’expression XPath.

Retours

IEnumerable

Liste de nœuds IEnumerable.

Remarques

Vous pouvez utiliser la Select méthode de manière déclarative si vous souhaitez simplifier la récupération d’un ensemble de nœuds à l’aide d’une requête XPath. Pour ce faire, vous devez placer les <%# and %> balises, qui sont également utilisées dans la liaison de données standard ASP.NET, autour de la requête XPath et d’un IXmlNamespaceResolver objet pour résoudre la référence d’espace de noms.

Pour l’une des listes ASP.NET contrôles serveur, tels que DataList, DataGridou Repeater, le container paramètre doit être Container.DataItem.

S’applique à