Share via


XPathBinder.Select Yöntem

Tanım

Bir düğüm listesi döndürmek için çalışma zamanında bir XPath veri bağlama ifadesi kullanır.

Aşırı Yüklemeler

Select(Object, String)

Bir düğüm listesi döndürmek için çalışma zamanında bir XPath veri bağlama ifadesi kullanır.

Select(Object, String, IXmlNamespaceResolver)

XPath ifadesindeki ad alanı ön eklerini çözümlemek için belirtilen nesneyi kullanarak IXmlNamespaceResolver bir düğüm listesi döndürmek için çalışma zamanında bir XPath veri bağlama ifadesi kullanır.

Açıklamalar

XPath sorgusu kullanarak bir düğüm kümesinin alınmasını basitleştirmek istiyorsanız aşırı yüklenmiş Select yöntemini bildirim temelli olarak kullanabilirsiniz. Bunu yapmak için, standart ASP.NET veri bağlamada da kullanılan %# ve %> etiketlerini XPath sorgusunun çevresine yerleştirmeniz <gerekir.

Select(Object, String)

Bir düğüm listesi döndürmek için çalışma zamanında bir XPath veri bağlama ifadesi kullanır.

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

Parametreler

container
Object

İfadenin IXPathNavigable değerlendirıldığı nesne başvurusu. Bu, sayfanın belirtilen dilinde geçerli bir nesne tanımlayıcısı olmalıdır.

xPath
String

Düğüm listesini alan XPath sorgusu.

Döndürülenler

Düğüm IEnumerable listesi.

Özel durumlar

container veya xpath parametresidirnull.

tarafından container belirtilen nesne bir IXPathNavigabledeğil.

geçerli düğümünün XPathNodeIterator ilişkili bir XML düğümü yok.

Örnekler

Aşağıdaki kod örneği, XML verilerini görüntülemek için bir denetimin şablonlu Repeater denetimle nasıl kullanılacağını XmlDataSource gösterir. Bu örnekte iki bölüm vardır:

  • XML verilerini görüntüleyen bir Web Forms sayfası.

  • Verileri içeren bir XML dosyası.

Örneğin ilk bölümünde, denetim aracılığıyla XmlDataSource erişilen XML verilerini görüntüleyen bir Web Forms sayfası gösterilir. Denetim Repeater , temsil ettiği XML belgesi içindeki veri öğelerine bağlanmak için basitleştirilmiş Eval(Object, String) yöntem söz dizimini XmlDataSource kullanır. Bir listeyi almak IEnumerable ve denetim için geç bağlanan DataSource bir özellik olarak atamak için Repeater yöntemini kullanırSelect(Object, String).

<%@ 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>

İkinci örnek, yukarıda tanımlanan Web Forms sayfasında görüntülenen verilerin kaynağı olarak kullanılan xml dosyasını Order.xml sağlar.

<?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>  

Açıklamalar

XPath sorgusu kullanarak bir düğüm kümesinin alınmasını basitleştirmek istiyorsanız yöntemini bildirimli olarak kullanabilirsiniz Select(Object, String) . Bunu yapmak için, standart ASP.NET veri bağlamada da kullanılan %# ve %> etiketlerini XPath sorgusunun çevresine yerleştirmeniz <gerekir.

, veya containerRepeatergibi DataListDataGridliste ASP.NET sunucu denetimlerinden herhangi biri için parametresi olmalıdırContainer.DataItem.

Şunlara uygulanır

Select(Object, String, IXmlNamespaceResolver)

XPath ifadesindeki ad alanı ön eklerini çözümlemek için belirtilen nesneyi kullanarak IXmlNamespaceResolver bir düğüm listesi döndürmek için çalışma zamanında bir XPath veri bağlama ifadesi kullanır.

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

Parametreler

container
Object

İfadenin IXPathNavigable değerlendirıldığı nesne başvurusu. Bu, sayfanın belirtilen dilinde geçerli bir nesne tanımlayıcısı olmalıdır.

xPath
String

Düğüm listesini alan XPath sorgusu.

resolver
IXmlNamespaceResolver

IXmlNamespaceResolver XPath ifadesindeki ad alanı ön eklerini çözümlemek için kullanılan nesne.

Döndürülenler

Düğüm IEnumerable listesi.

Açıklamalar

XPath sorgusu kullanarak bir düğüm kümesinin alınmasını basitleştirmek istiyorsanız yöntemini bildirimli olarak kullanabilirsiniz Select . Bunu yapmak için standart ASP.NET veri bağlamasında da kullanılan %# ve %> etiketlerini XPath sorgusunun ve ad alanı başvurusunu çözümlemek için bir IXmlNamespaceResolver nesnenin çevresine yerleştirmeniz <gerekir.

, veya containerRepeatergibi DataListDataGridliste ASP.NET sunucu denetimlerinden herhangi biri için parametresi olmalıdırContainer.DataItem.

Şunlara uygulanır