XPathBinder.Select Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.