XPathBinder.Select Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Использует выражение привязки данных XPath во время выполнения для возврата списка узлов.
Перегрузки
| Имя | Описание |
|---|---|
| Select(Object, String) |
Использует выражение привязки данных XPath во время выполнения для возврата списка узлов. |
| Select(Object, String, IXmlNamespaceResolver) |
Использует выражение привязки данных XPath во время выполнения для возврата списка узлов, используя IXmlNamespaceResolver объект, указанный для разрешения префиксов пространства имен в выражении XPath. |
Комментарии
Вы можете использовать перегруженный Select метод декларативно, если требуется упростить извлечение набора узлов с помощью запроса XPath. Для этого необходимо разместить < теги%# и %> , которые также используются в стандартной привязке данных ASP.NET вокруг запроса XPath.
Select(Object, String)
Использует выражение привязки данных XPath во время выполнения для возврата списка узлов.
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
Параметры
- container
- Object
Ссылка на объект, IXPathNavigable на которую вычисляется выражение. Это должен быть допустимый идентификатор объекта на указанном языке страницы.
- xPath
- String
Запрос XPath, который получает список узлов.
Возвращаемое значение
IEnumerable Список узлов.
Исключения
Значение container или xpath параметр null.
Объект, указанный containerIXPathNavigableне является объектом.
Текущий узел не XPathNodeIterator имеет связанного XML-узла.
Примеры
В следующем примере кода показано, как использовать XmlDataSource элемент управления с шаблонным Repeater элементом управления для отображения XML-данных. В этом примере есть две части:
Страница веб-форм, отображающая XML-данные.
XML-файл, содержащий данные.
В первой части примера показана страница веб-форм, отображающая xml-данные, к которым обращается XmlDataSource элемент управления. Элемент Repeater управления использует упрощенный Eval(Object, String) синтаксис метода для привязки к элементам данных в XML-документе, который XmlDataSource представляет. Он использует Select(Object, String) метод для получения IEnumerable списка и назначения его в качестве свойства с поздней привязкой DataSource для Repeater элемента управления.
<%@ 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>
Второй пример предоставляет XML-файл Order.xml, который используется в качестве источника данных, отображаемых на странице веб-форм, определенной выше.
<?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>
Комментарии
Метод можно использовать Select(Object, String) декларативно, если требуется упростить извлечение набора узлов с помощью запроса XPath. Для этого необходимо разместить < теги%# и %> , которые также используются в стандартной привязке данных ASP.NET вокруг запроса XPath.
Для любого из списков ASP.NET серверных элементов управления, таких как DataList, DataGridили Repeater, container параметр должен быть Container.DataItem.
Применяется к
Select(Object, String, IXmlNamespaceResolver)
Использует выражение привязки данных XPath во время выполнения для возврата списка узлов, используя IXmlNamespaceResolver объект, указанный для разрешения префиксов пространства имен в выражении 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
Параметры
- container
- Object
Ссылка на объект, IXPathNavigable на которую вычисляется выражение. Это должен быть допустимый идентификатор объекта на указанном языке страницы.
- xPath
- String
Запрос XPath, который получает список узлов.
- resolver
- IXmlNamespaceResolver
Объект IXmlNamespaceResolver , используемый для разрешения префиксов пространства имен в выражении XPath.
Возвращаемое значение
IEnumerable Список узлов.
Комментарии
Метод можно использовать Select декларативно, если требуется упростить извлечение набора узлов с помощью запроса XPath. Для этого необходимо разместить < теги%# и %> , которые также используются в стандартной привязке данных ASP.NET вокруг запроса XPath и IXmlNamespaceResolver объекта для разрешения ссылки на пространство имен.
Для любого из списков ASP.NET серверных элементов управления, таких как DataList, DataGridили Repeater, container параметр должен быть Container.DataItem.