簡體   English   中英

我需要有關XSL和ASP.NET問題的幫助

[英]I need help with XSL & ASP.NET questions

我有一個頁面,該頁面調用Web服務以獲取數據。 屏幕正確連接,我可以顯示期望的數據。 現在,我需要在xsl的for-each內編寫另一個內部循環,但是我需要傳遞一個參數以對父數據集進行排序,並僅獲取一個子集以在子視圖中顯示。 到目前為止,這是我的代碼塊:

這是XML

<xs:element name="ExchangeWantedItemsMeToodUsers">
<xs:complexType>
- <xs:sequence>
  <xs:element name="ExchangeWantedId" type="xs:int" minOccurs="0" /> 
  <xs:element name="ExchangeWantedName" type="xs:string" minOccurs="0" /> 
  <xs:element name="MeTooer" type="xs:string" minOccurs="0" /> 
  <xs:element name="MeTooerBankName" type="xs:string" minOccurs="0" /> 
  <xs:element name="DateFulfilled" type="xs:string" minOccurs="0" /> 
  <xs:element name="DateFulfilledUnformated" type="xs:dateTime" minOccurs="0" /> 
  <xs:element name="UserID" type="xs:int" minOccurs="0" /> 
  <xs:element name="FullName" type="xs:string" minOccurs="0" /> 
  <xs:element name="PostedBankName" type="xs:string" minOccurs="0" /> 
  </xs:sequence>
  </xs:complexType>
  </xs:element>
- <xs:element name="ExchangeWantedItemsMeToodUsers1">
- <xs:complexType>
- <xs:sequence>
  <xs:element name="ExchangeWantedID" type="xs:int" minOccurs="0" /> 
  <xs:element name="DisplayName" type="xs:string" minOccurs="0" /> 
  <xs:element name="FullName" type="xs:string" minOccurs="0" /> 
  </xs:sequence>
  </xs:complexType>
  </xs:element>

這是xsl

<xsl:for-each select="/root/ExchangeWantedItemsMeToodUsers">                
    <tr>
        <xsl:call-template name="AlternateRowColor" />
        <td><xsl:value-of select="ExchangeWantedName" /></td>
        <td>
            <xsl:for-each select="/root/ExchangeWantedItemsMeToodUsers">
                <xsl:value-of select="MeTooer" /> - <xsl:value-of 
                                                    select="MeTooerBankName" />
            </xsl:for-each>
        </td>
        <td><xsl:value-of select="FullName" /> - <xsl:value-of 
                                                select="PostedBankName" /></td>
        <td><xsl:value-of select="DateFulfilled" /></td>
    </tr>
</xsl:for-each>

我在這里做了一些假設,因為您的問題太高了。 我希望我離目標不遠。

我相信您正在按照以下代碼段尋找內容

<xsl:for-each select="/root/ExchangeWantedItemsMeToodUsers[@FullName='xxxxx]">
   <xsl:sort select="MeTooer" data-type="text"/>
   <xsl:value-of select="MeTooer" /> - <xsl:value-of select="MeTooerBankName" />
</xsl:for-each>

您實際上很可能不需要內部循環來進行過濾和排序。

  1. 您可以通過擴展已經包含在循環指令中的XPath表達式來加強過濾條件(例如,在這里,我假設您已經知道您感興趣的全名的值),即您所說的參數。 由於您的問題使該條件保持打開狀態,因此我選擇了FullName屬性。 告訴我們有關此附加過濾條件的更多信息。 如果有一個。

  2. 至於排序,有專門針對這種情況的專用XSLT指令。 它應用於從父for-each選擇標准得出的節點集。 我再次在這里做一個假設,並選擇了第一個顯示的屬性作為排序標准。 讓我們再次知道您真正想要的是什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM