Partager via


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

Nom Description
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, à l’aide de l’objet IXmlNamespaceResolver spécifié pour résoudre les 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 < balises%# et %> , 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 IXPathNavigable d’objet sur 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

Liste IEnumerable des nœuds.

Exceptions

Le ou container le xpath paramètre est null.

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

Le nœud actuel du XPathNodeIterator nœud 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 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 la 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 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 < balises%# et %> , qui sont également utilisées dans la liaison de données standard ASP.NET, autour de la requête XPath.

Pour n’importe quelle liste ASP.NET contrôles serveur, 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, à l’aide de l’objet IXmlNamespaceResolver spécifié pour résoudre les 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 IXPathNavigable d’objet sur 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 utilisé pour résoudre les préfixes d’espace de noms dans l’expression XPath.

Retours

Liste IEnumerable des nœuds.

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 < balises%# et %> , 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 n’importe quelle liste ASP.NET contrôles serveur, tels que DataList, DataGridou Repeater, le container paramètre doit être Container.DataItem.

S’applique à