Freigeben über


XPathBinder.Select Methode

Definition

Verwendet zur Laufzeit einen XPath-Datenbindungsausdruck, um eine Liste von Knoten zurückzugeben.

Überlädt

Name Beschreibung
Select(Object, String)

Verwendet zur Laufzeit einen XPath-Datenbindungsausdruck, um eine Liste von Knoten zurückzugeben.

Select(Object, String, IXmlNamespaceResolver)

Verwendet zur Laufzeit einen XPath-Datenbindungsausdruck, um eine Liste von Knoten zurückzugeben, wobei das IXmlNamespaceResolver angegebene Objekt zum Auflösen von Namespacepräfixen im XPath-Ausdruck verwendet wird.

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 %> platzieren, die auch in standard-ASP.NET Datenbindung verwendet werden, um die XPath-Abfrage herum.

Select(Object, String)

Verwendet zur Laufzeit einen XPath-Datenbindungsausdruck, um eine Liste von 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. Dies muss ein gültiger Objektbezeichner in der angegebenen Sprache der Seite sein.

xPath
String

Die XPath-Abfrage, die eine Liste von Knoten abruft.

Gibt zurück

Eine IEnumerable Liste der Knoten.

Ausnahmen

Der container Parameter ist xpathnull.

Das angegebene container Objekt ist kein IXPathNavigable.

Der aktuelle Knoten des Knotens XPathNodeIterator verfügt nicht über einen zugeordneten XML-Knoten.

Beispiele

Im folgenden Codebeispiel wird die Verwendung eines XmlDataSource Steuerelements mit einem vorlagenbasierten Repeater Steuerelement zum Anzeigen von XML-Daten veranschaulicht. Dieses Beispiel enthält zwei Teile:

  • Eine Web Forms-Seite, die XML-Daten anzeigt.

  • Eine XML-Datei, die die Daten enthält.

Der erste Teil des Beispiels zeigt eine Web Forms-Seite, die XML-Daten anzeigt, auf die über ein XmlDataSource Steuerelement zugegriffen wird. Ein Repeater Steuerelement verwendet die vereinfachte Eval(Object, String) Methodensyntax, um eine Bindung an Datenelemente innerhalb des XML-Dokuments zu erstellen, das dies 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.xmlbereit, die als Quelle der in der oben definierten Web Forms-Seite angezeigten Daten verwendet wird.

<?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 %> platzieren, die auch in standard-ASP.NET Datenbindung verwendet werden, um die XPath-Abfrage herum.

Für eine der Listen-ASP.NET Serversteuerelemente, z DataList. B. , DataGridoder Repeater, sollte der container Parameter sein Container.DataItem.

Gilt für:

Select(Object, String, IXmlNamespaceResolver)

Verwendet zur Laufzeit einen XPath-Datenbindungsausdruck, um eine Liste von Knoten zurückzugeben, wobei das IXmlNamespaceResolver angegebene Objekt zum Auflösen von Namespacepräfixen im XPath-Ausdruck verwendet wird.

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. Dies muss ein gültiger Objektbezeichner in der angegebenen Sprache der Seite sein.

xPath
String

Die XPath-Abfrage, die eine Liste von Knoten abruft.

resolver
IXmlNamespaceResolver

Das IXmlNamespaceResolver Objekt, das zum Auflösen von Namespacepräfixen im XPath-Ausdruck verwendet wird.

Gibt zurück

Eine IEnumerable Liste der 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 %> platzieren, die auch in standard-ASP.NET Datenbindung verwendet werden, um die XPath-Abfrage und ein IXmlNamespaceResolver Objekt, um den Namespaceverweis aufzulösen.

Für eine der Listen-ASP.NET Serversteuerelemente, z DataList. B. , DataGridoder Repeater, sollte der container Parameter sein Container.DataItem.

Gilt für: