XPathBinder.Select Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Verwendet einen XPath-Datenbindungsausdruck zur Laufzeit, um eine Liste mit Knoten zurückzugeben.
Überlädt
Select(Object, String) |
Verwendet einen XPath-Datenbindungsausdruck zur Laufzeit, um eine Liste mit Knoten zurückzugeben. |
Select(Object, String, IXmlNamespaceResolver) |
Verwendet das IXmlNamespaceResolver-Objekt, das zur Auflösung von Namespacepräfixen im XPath-Ausdruck angegeben wird, um mit einem XPath-Datenbindungsausdruck zur Laufzeit eine Liste von Knoten zurückzugeben. |
Hinweise
Sie können die überladene Select Methode deklarativ verwenden, wenn Sie den Abruf einer Gruppe von Knoten mithilfe einer XPath-Abfrage vereinfachen möchten. Dazu müssen Sie die <Tags %# und %> , die auch in der Standarddatenbindung ASP.NET verwendet werden, um die XPath-Abfrage herum platzieren.
Select(Object, String)
Verwendet einen XPath-Datenbindungsausdruck zur Laufzeit, um eine Liste mit Knoten zurückzugeben.
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
Parameter
- container
- Object
Der IXPathNavigable-Objektverweis, für den der Ausdruck ausgewertet wird. Dabei muss es sich um einen gültigen Objektbezeichner in der angegebenen Sprache der Seite handeln.
- xPath
- String
Die XPath-Abfrage, die eine Liste mit Knoten abruft.
Gibt zurück
Eine IEnumerable-Liste von Knoten.
Ausnahmen
Der container
-Parameter oder der xpath
-Parameter ist null
.
Das in container
angegebene Objekt ist kein IXPathNavigable.
Der aktuelle Knoten von XPathNodeIterator hat keinen zugeordneten XML-Knoten.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie ein XmlDataSource Steuerelement mit einem vorlagenbasierten Repeater Steuerelement zum Anzeigen von XML-Daten verwendet wird. Dieses Beispiel umfasst zwei Teile:
Eine Web Forms Seite, auf der XML-Daten angezeigt werden.
Eine XML-Datei, die die Daten enthält.
Der erste Teil des Beispiels zeigt eine Web Forms Seite, auf der XML-Daten angezeigt werden, auf die über ein XmlDataSource Steuerelement zugegriffen wird. Ein Repeater Steuerelement verwendet die vereinfachte Eval(Object, String) Methodensyntax, um an Datenelemente innerhalb des XML-Dokuments zu binden, das das XmlDataSource darstellt. Sie verwendet die Select(Object, String) -Methode, um eine IEnumerable Liste abzurufen und sie als spät gebundene DataSource Eigenschaft für das Repeater Steuerelement zuzuweisen.
<%@ 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>
Das zweite Beispiel stellt die XML-Datei Order.xml bereit, die als Quelle der Daten verwendet wird, die auf der oben definierten Web Forms Seite angezeigt werden.
<?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>
Hinweise
Sie können die Select(Object, String) Methode deklarativ verwenden, wenn Sie den Abruf einer Gruppe von Knoten mithilfe einer XPath-Abfrage vereinfachen möchten. Dazu müssen Sie die <Tags %# und %> , die auch in der Standarddatenbindung ASP.NET verwendet werden, um die XPath-Abfrage herum platzieren.
Für alle Listen ASP.NET Serversteuerelemente, z DataList. B. , DataGridoder Repeater, sollte der container
Parameter sein Container.DataItem
.
Gilt für:
Select(Object, String, IXmlNamespaceResolver)
Verwendet das IXmlNamespaceResolver-Objekt, das zur Auflösung von Namespacepräfixen im XPath-Ausdruck angegeben wird, um mit einem XPath-Datenbindungsausdruck zur Laufzeit eine Liste von Knoten zurückzugeben.
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
Parameter
- container
- Object
Der IXPathNavigable-Objektverweis, für den der Ausdruck ausgewertet wird. Dabei muss es sich um einen gültigen Objektbezeichner in der angegebenen Sprache der Seite handeln.
- xPath
- String
Die XPath-Abfrage, die eine Liste mit Knoten abruft.
- resolver
- IXmlNamespaceResolver
Das zum Auflösen von Namespacepräfixen im XPath-Ausdruck verwendete IXmlNamespaceResolver-Objekt.
Gibt zurück
Eine IEnumerable-Liste von Knoten.
Hinweise
Sie können die Select Methode deklarativ verwenden, wenn Sie den Abruf einer Gruppe von Knoten mithilfe einer XPath-Abfrage vereinfachen möchten. Dazu müssen Sie die <Tags %# und %> , die auch in der Standarddatenbindung ASP.NET verwendet werden, um die XPath-Abfrage und ein IXmlNamespaceResolver Objekt platzieren, um den Namespaceverweis aufzulösen.
Für alle Listen ASP.NET Serversteuerelemente, z DataList. B. , DataGridoder Repeater, sollte der container
Parameter sein Container.DataItem
.